Override e metodo area
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 41 di 56.
Sfida
Migliora la classe Circle sovrascrivendo il metodo describe() e aggiungendo un nuovo metodo calculateArea().
Il tuo compito:
Sovrascrivi il metodo
<strong>describe()</strong>in modo che restituisca${super.describe()} (Circle with radius ${this.radius}).Esempio: "A blue shape (Circle with radius 10)"
- Aggiungi un metodo
<strong>calculateArea()</strong>che:- Calcola l’area usando la formula:
Math.PI * this.radius * this.radius Restituisce l’area calcolata (non serve console.log)
*Questo è un metodo specifico di Circle (non presente nella classe genitore Shape)
- Calcola l’area usando la formula:
Provalo tu
import { Shape } from './Shape.js';
import { Circle } from './Circle.js';
// Test
const basicShape = new Shape('red');
console.log(basicShape.describe()); // "A red shape"
const myCircle = new Circle('blue', 10);
console.log(myCircle.describe()); // Dovrebbe produrre: "A blue shape (Circle with radius 10)"
console.log(myCircle.calculateArea()); // Dovrebbe produrre: "314.1592653589793"Tutte le lezioni di Programmazione orientata agli oggetti
1Oggetti e la keyword this
Ripasso rapido: oggettiAggiungere metodi agli oggettiCapire la keyword thisFunzioni costruttriciLa keyword newSfida di ripasso7Ereditarietà e parola chiave extends
EreditarietàLa relazione «è un»La parola chiave extendsIl metodo super()Ereditare proprietà e metodiSfida di ripasso13Composizione vs. ereditarietà
«Ha-un» vs. «è-un»I limiti dell’ereditarietà profondaCostruire oggetti2Organizzare il codice
Cosa sono i moduli?Esportare con exportImportare con importExport predefiniti vs. export nominati5Incapsulamento e accesso
IncapsulamentoCampi di classe pubblici e privatiMetodi privatiSfida di riepilogo8Organizzare il codice OOP
Organizzare le classi in moduli11Progetto: Un renderizzatore di forme
Configurazione: classe Shape ed esportazioneEreditarietà della classe CircleOverride e metodo areaContatore statico di Shape14Sistema di gestione della biblioteca
Progettare la bibliotecaClasse Book con composizioneValidazione dell'autore del libroEsercitati da solo: Compilatore JavaScript online