Menu
Coddy logo textTech

Relacja „jest rodzajem”

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

Relacja „jest rodzajem” to prosty test pozwalający określić, kiedy dziedziczenie ma sens. Jeśli możesz powiedzieć „X jest Y” i brzmi to poprawnie, X prawdopodobnie powinno dziedziczyć po Y.

Poprawnie (użyj dziedziczenia):

  • „Pies jest zwierzęciem” → class Dog extends Animal
  • „Samochód jest pojazdem” → class Car extends Vehicle
  • „Podręcznik jest książką” → class Textbook extends Book

Niepoprawne (nie używaj dziedziczenia):

  • „Kierowca jest samochodem” → Nie, kierowca używa samochodu
  • „Koło jest samochodem” → Nie, koło jest częścią samochodu
  • „Uczeń jest klasą” → Nie, uczeń znajduje się w klasie

Na przykład rozważmy dwa obiekty:

// Klasa bazowa – czym wszystkie te obiekty SĄ
class Book {
  constructor(title, author, pages) {
    this.title = title;
    this.author = author;
    this.pages = pages;
  }
  
  read() {
    console.log(`Reading ${this.title} by ${this.author}`);
  }
}
// Novel JEST Book (poprawne dziedziczenie)
class Novel extends Book {
  constructor(title, author, pages, genre) {
    super(title, author, pages);
    this.genre = genre;
  }
}
// Używanie klas
const fiction = new Novel("1984", "George Orwell", 328, "Dystopian");
fiction.read();    // "Reading 1984 by George Orwell" - odziedziczone po Book
challenge icon

Wyzwanie

Otrzymujesz klasę ElectronicDevice i klasę Smartphone. Smartphone to typ urządzenia ElectronicDevice z dodatkowymi funkcjami. Twoim zadaniem jest utworzyć obiekt `myPhone` o marce "Samsung" i modelu “Galaxy S23”.

Spróbuj swoich sił

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


// TODO: Utwórz obiekt `myPhone` marki "Samsung" i modelu “Galaxy S23”.


// Kod testowy — nie modyfikuj
console.log(myPhone.turnOn());  // Powinno wypisać "Samsung Galaxy S23 is now ON"
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator JavaScript online