Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

فئة الكتاب مع الـ Composition

جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 51 من 56.

challenge icon

التحدي

إنشاء فئة Book باستخدام التركيب (Composition)

مهمتك:

  1. في الملف المسمى Book.js، قم باستيراد فئة Author في الأعلى
  2. قم بإنشاء وتصدير فئة Book تحتوي على:
    • حقول خاصة: #title، و #author، و #isCheckedOut
    • منشئ (Constructor) يأخذ title و author
    • اثنان من دوال الجلب (getters): title و authorInfo الذي يعيد اسم المؤلف
  3. في main.js، أضف استيراد فئة Book

كيفية تطبيق التركيب (Composition) هنا:

التركيب يعني علاقة "يحتوي على" (has-a). في فئة Book الخاصة بنا:

  • الكتاب يحتوي على مؤلف (Book HAS-AN Author) (وليس "هو" مؤلف "is-an" Author)
  • يحتوي الكتاب contains على مثيل (instance) من المؤلف كأحد مكوناته
  • المؤلف موجود بشكل منفصل ويمكن استخدامه من قبل عدة كتب
  • هذا هو التركيب: بناء كائنات معقدة (Book) من كائنات أبسط (Author)

جرّب بنفسك

import { Author } from './Author.js';

// TODO: استيراد فئة Book

// اختبارات
const author = new Author('J.K. Rowling');
const book = new Book('Harry Potter', author);

console.log('Book title:', book.title); // يجب أن تكون المخرجات: "Book title: Harry Potter"
console.log('Author:', book.authorInfo); // يجب أن تكون المخرجات: "Author: J.K. Rowling"

جميع دروس Object Oriented Programming