Menu
CoddyTech

Die „ist-ein“-Beziehung

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

Die „Ist-ein“-Beziehung ist ein einfacher Test, um festzustellen, wann Vererbung sinnvoll ist. Wenn du sagen kannst: „X ist ein Y“ und es sich richtig anhört, sollte X wahrscheinlich von Y erben.

Richtig (Vererbung verwenden):

  • „Ein Hund ist ein Tier“ → class Dog extends Animal
  • „Ein Auto ist ein Fahrzeug“ → class Car extends Vehicle
  • „Ein Lehrbuch ist ein Buch“ → class Textbook extends Book

Falsch (Vererbung nicht verwenden):

  • „Ein Fahrer ist ein Auto“ → Nein, ein Fahrer benutzt ein Auto
  • „Ein Rad ist ein Auto“ → Nein, ein Rad ist Teil eines Autos
  • „Ein Schüler ist ein Klassenzimmer“ → Nein, ein Schüler ist in einem Klassenzimmer

Betrachten wir zum Beispiel zwei Objekte:

// Basisklasse – was sie alle SIND
class Book {
  constructor(title, author, pages) {
    this.title = title;
    this.author = author;
    this.pages = pages;
  }
  
  read() {
    console.log(`Reading ${this.title} by ${this.author}`);
  }
}
// Ein Novel IST EIN Book (korrekte Vererbung)
class Novel extends Book {
  constructor(title, author, pages, genre) {
    super(title, author, pages);
    this.genre = genre;
  }
}
// Die Klassen verwenden
const fiction = new Novel("1984", "George Orwell", 328, "Dystopian");
fiction.read();    // "Reading 1984 by George Orwell" - von Book geerbt
challenge icon

Aufgabe

Dir sind eine Klasse ElectronicDevice und eine Klasse Smartphone gegeben. Ein Smartphone ist eine Art von ElectronicDevice mit zusätzlichen Funktionen. Deine Aufgabe ist es, ein `myPhone`-Objekt mit der Marke "Samsung" und dem Modell “Galaxy S23” zu erstellen.

Probier es selbst

import { ElectronicDevice } from './electronicDevice.js';
import { Smartphone } from './smartphone.js';


// TODO: Erstelle ein `myPhone`-Objekt mit der Marke "Samsung" und dem Modell “Galaxy S23”.


// Testcode – nicht verändern
console.log(myPhone.turnOn());  // Sollte "Samsung Galaxy S23 is now ON" ausgeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-JavaScript-Compiler