Konfiguracja: klasa Shape i eksport
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 39 z 56.
Wyzwanie
W tym projekcie zbudujemy prosty system renderowania kształtów, który pokazuje kluczowe koncepcje programowania obiektowego. Utworzymy różne kształty, które potrafią opisywać same siebie, przećwiczymy dziedziczenie i zorganizujemy kod za pomocą modułów.
Twoje zadanie:
- W pliku `Shape.js` utwórz klasę `Shape`, która ma:
- Konstruktor, który przyjmuje jeden parametr:
color - Metodę o nazwie
describe(), która zwraca:"A ${color} shape"
- Konstruktor, który przyjmuje jeden parametr:
- Wyeksportuj klasę za pomocą
export - W pliku
main.jszaimportuj klasę za pomocą:import { Shape } from './Shape.js';
Spróbuj swoich sił
// TODO: Zaimportuj klasę Shape z './Shape.js';
// Przetestuj klasę Shape
const myShape = new Shape('blue');
console.log(myShape.describe()); // Wyświetla: "A blue shape"
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