Constructor Functions
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 4 من 56.
دوال المنشئ (Constructor functions) هي دوال خاصة في JavaScript تتيح لك إنشاء كائنات متعددة بنفس البنية والسلوك.
قم بتعريف دالة منشئة (constructor function) لـ Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}قم بإنشاء كائن Person جديد باستخدام المنشئ:
const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);بعد تنفيذ الكود أعلاه، john هو كائن (object) يحتوي على الخصائص التالية:
// كائن john يحتوي على:
{
name: "John",
age: 30,
greet: function() { return "Hello, my name is John"; }
}الوصول إلى الخصائص واستدعاء الدوال (methods):
console.log(john.name); // المخرجات: John
console.log(john.greet()); // المخرجات: Hello, my name is Johnالتحدي
- أنشئ دالة بناء (constructor function) تسمى
Bookتأخذ ثلاث وسائط:
title(سلسلة نصية)author(سلسلة نصية)pages(رقم)
يجب أن تقوم الدالة بتعيين هذه القيم كخصائص للكائن الذي تم إنشاؤه.
2. أضف طريقة (method) تسمى getSummary تعيد سلسلة نصية تحتوي على بعض المعلومات حول الكتاب: this.title + " was written by " + this.author + " and has " + this.pages + " pages";
ورقة مرجعية
تُنشئ الدوال الإنشائية (Constructor functions) كائنات متعددة بنفس البنية. استخدم الكلمة المفتاحية new لإنشاء مثيلات (instances):
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}
const john = new Person("John", 30);
console.log(john.name); // المخرجات: John
console.log(john.greet()); // المخرجات: Hello, my name is Johnجرّب بنفسك
// TODO: أنشئ دالة بناء (constructor function) باسم Book تأخذ ثلاث وسائط (title، author، pages)
// TODO: قم بتعيين هذه كخصائص (properties) للكائن الذي تم إنشاؤه
// TODO: أضف دالة (method) تسمى getSummary تُرجع سلسلة نصية تحتوي على بعض المعلومات حول الكتاب.
// على سبيل المثال: Harry Potter كتبه Rowling ويحتوي على 500 صفحة
// لا تقم بتعديل الكود أدناه
const inputTitle = inp[0]; // السطر الأول: عنوان الكتاب
const inputAuthor = inp[1]; // السطر الثاني: المؤلف
const inputPages = parseInt(inp[2]);// السطر الثالث: عدد الصفحات
const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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