Wyzwanie podsumowujące
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 29 z 56.
Wyzwanie
Tworzenie klas mebli z użyciem dziedziczenia
Zadanie 1: Utwórz klasę Chair
Utwórz klasę Chair, która rozszerza klasę Furniture:
- Użyj
super()w konstruktorze, aby odziedziczyćmaterialicolorz klasy nadrzędnej - Dodaj właściwość:
numberOfLegs - Dodaj metodę:
sit(), która zwraca"Sitting on the chair"
Zadanie 2: Utwórz klasę Table
Utwórz klasę Table, która rozszerza klasę Furniture:
- Użyj
super()w konstruktorze, aby odziedziczyćmaterialicolorz klasy nadrzędnej - Dodaj właściwość:
shape - Dodaj metodę:
placeItem(), która zwraca"Item placed on table"
Spróbuj swoich sił
import { Furniture } from './furniture.js';
import { Table } from './table.js';
import { Chair } from './chair.js';
// Kod testowy - nie modyfikuj
const myChair = new Chair("wood", "brown", 4);
console.log(myChair.describe()); // Powinno wypisać "brown wood furniture"
console.log(myChair.numberOfLegs); // Powinno wypisać 4
console.log(myChair.sit()); // Powinno wypisać "Sitting on the chair"
const myTable = new Table("glass", "clear", "round");
console.log(myTable.describe()); // Powinno wypisać "clear glass furniture"
console.log(myTable.shape); // Powinno wypisać "round"
console.log(myTable.placeItem()); // Powinno wypisać "Item placed on table"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