Altro VERIFICATO

Lezioni lp1

Università degli Studi di Napoli - Federico II informatica 2020
20 visualizzazioni
26 download
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — Lezioni lp1

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(): float e +set_raggio(x: float): void.
      • L'implementazione del metodo +area(): float calcola l'area come pi_greco * raggio ^ 2.
    • 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 come pi_greco * semiasse_mag * semiasse_min.
    • Poligono:
      • Rappresenta una classe intermedia, dalla quale derivano altre figure piane con lati.
      • È presumibilmente astratta, poiché non implementa direttamente area() e ha sottoclassi concrete.
  • Specializzazioni di Poligono:
    • Rettangolo:
      • Possiede attributi privati per le lunghezze dei lati: -lato_mag: float e -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.
    • Quadrato:
      • Definito da un singolo attributo privato: -lato: float.
      • Dispone di metodi pubblici per ottenere e impostare il lato: +get_lato(): float e +set_lato(x: float): void.
      • L'area (+area(): float) è calcolata come lato * lato.
  • 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.

Altri appunti di LINGUAGGI DI PROGRAMMAZIONE I

Condividi questi appunti

WhatsApp Telegram