Definire il concetto di ereditarietà e i suoi vantaggi (riuso del codice, estensibilità)
Distinguere tra classe base (superclasse) e classe derivata (sottoclasse)
Conoscere i principi della OOP: incapsulamento, ereditarietà, polimorfismo
Utilizzare correttamente la sintassi dell'ereditarietà in C++
Padroneggiare i concetti e i principi della programmazione ad oggetti
Disegnare e interpretare diagrammi di classi con relazioni di ereditarietà
Implementare classi derivate con attributi e metodi ereditati e specifici in C++
Ereditarietà: meccanismo che permette a una classe (derivata) di ereditare attributi e metodi da un'altra classe (base/superclasse)
Classe base → Classe derivata: la sottoclasse estende la superclasse aggiungendo attributi/metodi propri e può sovrascrivere (override) quelli ereditati
class Veicolo {
public:
Veicolo(int anno) : anno(anno) {}
int getAnno() const { return anno; }
virtual void descrizione() const {
std::cout << "Veicolo del " << anno << std::endl;
}
private:
int anno;
};
class Auto : public Veicolo {
public:
Auto(int anno, const std::string& modello)
: Veicolo(anno), modello(modello) {}
const std::string& getModello() const { return modello; }
private:
std::string modello;
};
Dato il diagramma di classi (Mezzi di trasporto → Veicoli a motore → Autobus), implementare la gerarchia in C++ e stampare tutti gli attributi di un oggetto Autobus.
Input: diagramma UML con attributi e metodi di ciascuna classe
Output atteso: programma C++ funzionante con output a video
Vincoli: pair programming · 55 min · IDE in laboratorio
"Perché l'ereditarietà favorisce il riuso del codice?"
"In quali situazioni reali la utilizzereste?"
"Quali problemi possono verificarsi?"
Dialogo socratico, domande stimolo per attivare conoscenze pregresse e verificare prerequisiti.
Proposta di un problema reale da risolvere step-by-step in laboratorio.
Lavoro in coppie per favorire peer tutoring e collaborazione.
Attività pratica al computer: codice e strumenti digitali specifici dell'argomento.
"Condividere la conoscenza è l'atto più fondamentale dell'amicizia. Perché è un modo in cui puoi dare qualcosa senza perdere nulla."
— Richard M. Stallman