Nadpisywanie i metoda obliczania pola
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 41 z 56.
Wyzwanie
Ulepsz klasę Circle, nadpisując metodę describe() i dodając nową metodę calculateArea().
Twoje zadanie:
Nadpisz metodę
<strong>describe()</strong>, aby zwracała${super.describe()} (Circle with radius ${this.radius}).Przykład: "A blue shape (Circle with radius 10)"
- Dodaj metodę
<strong>calculateArea()</strong>, która:- Oblicza pole za pomocą wzoru:
Math.PI * this.radius * this.radius Zwraca obliczone pole (nie trzeba używać console.log)
*To metoda specyficzna dla Circle (nie występuje w klasie nadrzędnej Shape)
- Oblicza pole za pomocą wzoru:
Spróbuj swoich sił
import { Shape } from './Shape.js';
import { Circle } from './Circle.js';
// Testy
const basicShape = new Shape('red');
console.log(basicShape.describe()); // "A red shape"
const myCircle = new Circle('blue', 10);
console.log(myCircle.describe()); // Powinno wypisać: "A blue shape (Circle with radius 10)"
console.log(myCircle.calculateArea()); // Powinno wypisać: "314.1592653589793"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