الخصائص والدوال
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 13 من 56.
تسمح لنا الأصناف (Classes) في جافا سكريبت بتعريف الخصائص والأساليب التي ستتم مشاركتها من قبل جميع مثيلات الصنف.
قم بإنشاء فئة بخصائص:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}عند إنشاء مثيل (instance)، يقوم المنشئ (constructor) بتعيين هذه الخصائص:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // المخرج: 'Toyota'
console.log(myCar.model); // المخرج: 'Corolla'أضف تابعاً (method) إلى الفئة (class):
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}الآن يمكننا استدعاء هذه الطريقة على أي مثيل:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // المخرج: 'This car is a Toyota Corolla.'التحدي
أنشئ فئة (class) باسم Book في ملف book.js تحتوي على ما يلي:
- منشئ (constructor) يأخذ المعاملات
titleوauthorوpagesويقوم بتعيينها كخصائص (properties). - دالة (method) تسمى
getInfoتعيد سلسلة نصية بالتنسيق التالي: “Title: [title], Author: [author], Pages: [pages]” - قم بتصدير الفئة عن طريق إضافة `export` أمام إعلان الـ `class`
ورقة مرجعية
تُعرف الأصناف (Classes) في JavaScript الخصائص والأساليب (methods) المشتركة بين جميع النسخ (instances).
إنشاء صنف باستخدام منشئ (constructor):
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}إنشاء نسخة باستخدام new:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // المخرج: 'Toyota'إضافة أساليب إلى الصنف:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}استدعاء الأساليب على النسخ:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // المخرج: 'This car is a Toyota Corolla.'تصدير صنف:
export class Car {
// تعريف الصنف
}جرّب بنفسك
import { Book } from './book.js';
// اختبار (لا تقم بتعديل هذا الجزء)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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 والتصديروراثة فئة Circle