Menu
Coddy logo textTech

Klasa Book z kompozycją

Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 51 z 56.

challenge icon

Wyzwanie

Utwórz klasę Book z kompozycją

Twoje zadanie:

  1. W pliku o nazwie Book.js zaimportuj klasę Author na początku
  2. Utwórz i wyeksportuj klasę Book zawierającą:
    • Prywatne pola: #title, #author, #isCheckedOut
    • Konstruktor przyjmujący title i author
    • Dwa gettery: title i authorInfo, który zwraca imię i nazwisko autora
  3. W pliku main.js dodaj import klasy Book

Jak zastosowano tu kompozycję:

Kompozycja oznacza relację „ma”. W naszej klasie Book:

  • Book MA Author (a nie „jest” Author)
  • Klasa Book zawiera instancję klasy Author jako jeden ze swoich składników
  • Klasa Author istnieje niezależnie i może być używana przez wiele obiektów Book
  • Na tym polega kompozycja: tworzenie złożonych obiektów (Book) z prostszych (Author)

Spróbuj swoich sił

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

// TODO:  Zaimportuj klasę Book

// Testy
const author = new Author('J.K. Rowling');
const book = new Book('Harry Potter', author);

console.log('Book title:', book.title); // Powinno wyświetlić: "Book title: Harry Potter"
console.log('Author:', book.authorInfo); // Powinno wyświetlić: "Author: J.K. Rowling"

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator JavaScript online