Statyczny licznik kształtów
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 42 z 56.
Wyzwanie
Zmodyfikuj klasę Shape, aby śledziła liczbę utworzonych kształtów za pomocą statycznych właściwości i metod.
Twoje zadanie:
- Dodaj statyczną właściwość o nazwie
totalShapes, zainicjalizowaną wartością0 - Zwiększ licznik w konstruktorze:
Shape.totalShapes++; - Dodaj metodę statyczną o nazwie
getTotalCreated(), która zwraca bieżącą łączną liczbę kształtów
Spróbuj swoich sił
import { Shape } from './Shape.js';
import { Circle } from './Circle.js';
// Testy
console.log(`Initial count: ${Shape.getTotalCreated()}`); // Powinno być 0
const shape1 = new Shape('red');
const shape2 = new Shape('green');
const circle1 = new Circle('blue', 5);
const circle2 = new Circle('yellow', 10);
console.log(`After creating 4 shapes: ${Shape.getTotalCreated()}`); // Powinno być 4Wszystkie 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