Lezioni lp1
Stai vedendo l'anteprima delle prime pagine. Il file completo è gratis: registrati per leggerlo tutto.
Di cosa parla
- Introduzione alla Gerarchia: Il diagramma UML presenta un modello ad oggetti per la rappresentazione di diverse figure piane, evidenziando i principi di ereditarietà e polimorfismo.
- Classe Base Astratta
FiguraPiana:- Costituisce la radice della gerarchia ed è una classe astratta, indicata dall'etichetta 'abstract'.
- Definisce un metodo astratto pubblico
+area(): float, stabilendo un contratto per tutte le sottoclassi che dovranno implementare il calcolo della propria area.
- Specializzazioni Dirette di
FiguraPiana:- Circonferenza:
- Gestisce un attributo privato
-raggio: float. - Offre metodi pubblici per accedere e modificare il raggio:
+get_raggio(): floate+set_raggio(x: float): void. - L'implementazione del metodo
+area(): floatcalcola l'area comepi_greco * raggio ^ 2.
- Gestisce un attributo privato
- Ellisse:
- Contiene due attributi privati per i semiassi:
-semiasse_mag: float(maggiore) e-semiasse_min: float(minore). - Fornisce metodi pubblici per la gestione dei semiassi:
+get_semiasse_mag(): float,+set_semiasse_mag(x: float): void,+get_semiasse_min(): float,+set_semiasse_min(x: float): void. - Il metodo
+area(): floatè implementato comepi_greco * semiasse_mag * semiasse_min.
- Contiene due attributi privati per i semiassi:
- Poligono:
- Rappresenta una classe intermedia, dalla quale derivano altre figure piane con lati.
- È presumibilmente astratta, poiché non implementa direttamente
area()e ha sottoclassi concrete.
- Circonferenza:
- Specializzazioni di
Poligono:- Rettangolo:
- Possiede attributi privati per le lunghezze dei lati:
-lato_mag: floate-lato_min: float. - Include metodi pubblici per l'accesso e la modifica dei lati:
+get_lato_mag(): float,+set_lato_mag(x: float): void,+get_lato_min(): float,+set_lato_min(x: float): void. - Il calcolo dell'area (
+area(): float) èlato_mag * lato_min.
- Possiede attributi privati per le lunghezze dei lati:
- Quadrato:
- Definito da un singolo attributo privato:
-lato: float. - Dispone di metodi pubblici per ottenere e impostare il lato:
+get_lato(): floate+set_lato(x: float): void. - L'area (
+area(): float) è calcolata comelato * lato.
- Definito da un singolo attributo privato:
- Rettangolo:
- Concetti Chiave: Il diagramma è un chiaro esempio di come l'ereditarietà permetta di creare una struttura flessibile per tipi correlati, mentre il polimorfismo garantisce che un'azione comune (come il calcolo dell'area) possa essere eseguita in modi diversi a seconda del tipo specifico di oggetto.
Questo appunto è gratis. Registrati in 30 secondi per leggere tutte le pagine e scaricarlo.