Menu
Coddy logo textTech

Sovrascrivere i metodi ereditati

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

L’override di un metodo si verifica quando una sottoclasse fornisce una propria implementazione di un metodo che ha ereditato da una classe genitore. La versione della sottoclasse «sovrascrive» (sostituisce) la versione della classe genitore.

Esempio semplice:

Crea una classe genitore con un metodo:

class Vehicle {
  start() {
    return "Vehicle starting...";
  }
}

Crea una classe figlia che estende la classe genitore:

class Car extends Vehicle {
  // Questo SOVRASCRIVE il metodo start() di Vehicle
  start() {
    return "Car engine roaring to life!";
  }
}

Usa le classi:

const vehicle = new Vehicle();
const car = new Car();

console.log(vehicle.start());      // "Vehicle starting..." (originale)
console.log(car.start());          // "Car engine roaring to life!" (sovrascritto)

Regole chiave per l'override:

  1. Stesso nome del metodo del genitore
  1. Parametri uguali o compatibili
  1. La versione del figlio viene chiamata sugli oggetti figli
  1. Non servono parole chiave speciali - basta definire il metodo
challenge icon

Sfida

Ti vengono forniti una classe genitore Shape e una classe figlia Circle. La classe genitore ha un metodo calculateArea() che restituisce 0.

Il tuo compito è sovrascrivere il metodo calculateArea() nella classe Circle per calcolare l'area effettiva di un cerchio.

La formula per calcolare l'area del cerchio è: π × raggio²
In JavaScript: Math.PI * this.radius * this.radius

Provalo tu

import { Shape } from './shapes.js';
import { Circle } from './shapes.js';

// Metti alla prova la tua implementazione
const myCircle = new Circle(5);
console.log(myCircle.calculateArea());
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore JavaScript online