Słowo kluczowe extends
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 26 z 56.
Słowo kluczowe extends w JavaScript służy do tworzenia klasy potomnej, która dziedziczy właściwości i metody po klasie nadrzędnej.
Najpierw utwórzmy klasę nadrzędną:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}Teraz utwórzmy klasę potomną, która rozszerza klasę nadrzędną:
class Dog extends Animal {
// Klasa Dog dziedziczy po klasie Animal
}Ten prosty kod oznacza, że klasa Dog dziedziczy teraz wszystkie właściwości i metody klasy Animal.
Utwórz instancję psa:
const dog = new Dog('Rex');Wywołaj metodę odziedziczoną po klasie nadrzędnej:
console.log(dog.speak()); // Wyświetla: "Rex makes a noise."Słowo kluczowe extends tworzy relację dziedziczenia, w której klasa potomna (Dog) może uzyskiwać dostęp do wszystkich funkcjonalności zdefiniowanych w klasie nadrzędnej (Animal) i z nich korzystać.
Wyzwanie
Utwórz klasę Student, która extends klasę Person za pomocą słowa kluczowego extends, i wyeksportuj ją.
Spróbuj swoich sił
import { Student } from './classes.js';
// Kod testowy - nie modyfikuj
const student = new Student("Emma");
console.log(student.greet()); // Powinno wypisać "Hello, I'm Emma"Ta 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