الخصائص والدوال
جزء من قسم البرمجة كائنية التوجه في رحلة JavaScript على Coddy. الدرس 13 من 56.
تسمح لنا الفئات في JavaScript بتعريف الخصائص والأساليب التي ستتم مشاركتها بين جميع مثيلات الفئة.
Create class مع properties:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}عند إنشاء مثيل، يعيّن المُنشئ هذه الخصائص:
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}.`;
}
}الآن يمكننا استدعاء هذا method على أي مثيل:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // المخرجات: 'This car is a Toyota Corolla.'التحدي
أنشئ فئة باسم Book في ملف book.js مع ما يلي:
- منشئ يأخذ المعلمات
titleوauthorوpagesويعيّنها كخصائص. - طريقة باسم
getInfoتُرجع string بالتنسيق: “Title: [title], Author: [author], Pages: [pages]” - صدّر الفئة بإضافة `export` أمام تعريف `class`
جرّب بنفسك
import { Book } from './book.js';
// اختبار (لا تعدل هذا الجزء)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البرمجة كائنية التوجه
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circleإعادة التعريف ودالة المساحةعداد الأشكال Staticتدرّب بنفسك: مترجم JavaScript عبر الإنترنت