نظام أجهزة المنزل الذكي
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 56 من 56.
التحدي
في هذا التحدي، يجب عليك إضافة تتبع ثابت (static tracking) لنظام SmartDevice حتى نتمكن من مراقبة عدد الأجهزة في منزلنا الذكي.
1. أضف خاصية ثابتة (static property) إلى فئة SmartDevice:
- أضف:
static totalDevices = 0;في الجزء العلوي من الفئة
2. قم بزيادة العداد في المنشئ (constructor):
- في منشئ
SmartDevice، أضف:SmartDevice.totalDevices++;
3. أضف طريقة ثابتة (static method) للحصول على العدد:
- أضف:
static getDeviceCount() { return SmartDevice.totalDevices; }
جرّب بنفسك
import { SmartDevice } from './device.js';
console.log(`Device count: ${SmartDevice.getDeviceCount()}`); // يجب أن يكون 0
const basicDevice1 = new SmartDevice('Smart Plug');
const basicDevice2 = new SmartDevice(' Thermostat');
console.log(`Total devices now: ${SmartDevice.getDeviceCount()}`); // يجب أن يكون 2
جميع دروس Object Oriented Programming
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circle9الخصائص والدوال الثابتة (Static)
مستوى الكلاس مقابل مستوى الكائنالخصائص الثابتة (Static Properties)دوال المساعدة الثابتة (Static Utility Methods)تحدي المراجعة12Getters و Setters
الكلمات المفتاحية get و setالخصائص المحسوبةالتحقق من الصحة والآثار الجانبيةتحدي المراجعة15التحديات النهائية
منشئ شخصيات الألعابنظام منتجات التجارة الإلكترونيةنظام إدارة الجامعاتنظام أجهزة المنزل الذكي