Dziedziczenie
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 24 z 56.
Dziedziczenie w programowaniu obiektowym JavaScript to sposób, dzięki któremu jedna klasa uzyskuje dostęp do wszystkich właściwości i metod innej klasy.
Przyjrzyjmy się przykładowi. Utwórz klasę nadrzędną:
class Vehicle {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
drive() {
console.log("Driving!");
}
}Teraz utwórz klasę potomną, która dziedziczy po klasie Vehicle:
// Car dziedziczy po Vehicle
class Car extends Vehicle {
honk() {
console.log("Beep beep!");
}
}Utwórz instancję klasy potomnej:
const myCar = new Car("Toyota", "Camry");Dostęp do właściwości i metod:
console.log(myCar.brand); // "Toyota" - odziedziczone po Vehicle
console.log(myCar.model); // "Camry" - odziedziczone po Vehicle
// Car ma dostęp do metod Vehicle
myCar.drive(); // "Driving!" - odziedziczone po Vehicle
// Car ma również własne metody
myCar.honk(); // "Beep beep!" - charakterystyczne dla CarWyzwanie
Otrzymujesz klasę Animal oraz klasę Dog, która po niej dziedziczy. Twoim zadaniem jest utworzenie obiektu myDog o imieniu "Buddy" i wieku 3.
Spróbuj swoich sił
import { Dog } from './animal.js';
// TODO: Utwórz obiekt myDog o imieniu "Buddy" i wieku 3 lat.
// Kod testowy – nie modyfikuj
console.log(myDog.name); // Powinno wyświetlić "Buddy"
console.log(myDog.age); // Powinno wyświetlić 3Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowującePoćwicz samodzielnie: Kompilator JavaScript online