Menu
Coddy logo textTech

Override e metodo area

Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 41 di 56.

challenge icon

Sfida

Migliora la classe Circle sovrascrivendo il metodo describe() e aggiungendo un nuovo metodo calculateArea().

Il tuo compito:

  1. 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)"

  2. 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)

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

Esercitati da solo: Compilatore JavaScript online