Menu
Coddy logo textTech

Buch-Klasse mit Komposition

Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 51 von 56.

challenge icon

Aufgabe

Book-Klasse mit Komposition erstellen

Deine Aufgabe:

  1. Importiere in der Datei Book.js oben die Author-Klasse
  2. Erstelle und exportiere eine Book-Klasse mit:
    • Privaten Feldern: #title, #author, #isCheckedOut
    • Einem Konstruktor, der title und author entgegennimmt
    • Zwei Getter: title und authorInfo, der den Namen des Autors zurückgibt
  3. Füge in main.js den Import für die Book-Klasse hinzu

So wird Komposition hier angewendet:

Komposition bezeichnet eine „has-a“-Beziehung. In unserer Book-Klasse:

  • Book HAS-AN Author (nicht „is-an“ Author)
  • Das Book enthält eine Author-Instanz als eine seiner Komponenten
  • Der Author existiert unabhängig und kann von mehreren Books verwendet werden
  • Das ist Komposition: komplexe Objekte (Book) aus einfacheren Objekten (Author) erstellen

Probier es selbst

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

// TODO: Importiere die Book-Klasse

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

console.log('Book title:', book.title); // Sollte ausgeben: "Book title: Harry Potter"
console.log('Author:', book.authorInfo); // Sollte ausgeben: "Author: J.K. Rowling"

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-JavaScript-Compiler