Wyzwanie podsumowujące
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 20 z 56.
Wyzwanie
Otrzymujesz klasę GameCharacter. Twoje zadanie:
- Dodaj prywatne pole
#isAlivezainicjalizowane wartościątrue - Dodaj prywatną metodę
#checkIfAlive(), która:- Ustawia
#isAlivenatrue, jeśli#health > 0 - Ustawia
#isAlivenafalse, jeśli#health ≤ 0
- Ustawia
Spróbuj swoich sił
import { GameCharacter } from './GameCharacter.js';
// Kod testowy — nie modyfikuj
const warrior = new GameCharacter("Warrior");
warrior.takeDamage(30);
console.log(warrior.getStatus()); // Powinno wypisać "Alive"
warrior.takeDamage(80);
console.log(warrior.getStatus()); // Powinno wypisać "Defeated"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