Estratto del documento

Astratti e astrazioni

Obiettivo: risolvere un problema complesso tramite la sua semplificazione in singoli problemi indipendenti di complessità minore.

Sottoproblemi

Ogni sottoproblema deve avere le caratteristiche:

  • Risolvibile indipendentemente dagli altri, consentendo di concentrarsi solo su quel problema
  • Stesso livello di competenza degli altri
  • Insieme possono combinarsi per risolvere il problema.

Solid-software

Modello di sviluppo SW in cui ogni modulo (metodo) ha una singola responsabilità indipendente in cui gli altri moduli si basano ed utilizzano.

Astrazione

Ignorare alcuni dettagli non necessari, relativi ad un alto livello di astrazione. Astrazione e i relativi livelli sono usati per suddividere il problema in sottoproblemi dello stesso tipo.

Astrazione per parametri e per specifica

  • Consente di evitare il codice per ulteriori usi, generalizza l'uso del codice. Es: procedura generale scritta in una funzione separata invece che nel main → Riutilizzo
  • Consente di rimuovere dettagli implementativi per l'elasticità (di una funzione) tramite la definizione dei contratti. Per esempio, le API consentono l'uso di una funzione senza conoscere l'implementazione. Consente di concentrarsi su di una cosa in meno.

Contratto

Definizione di che cosa fa una funzione, che dati modifica, di che input ha bisogno e che cosa restituisce. Usato per indicare adeguatamente le condizioni per l'uso di tale funzione. Si basa sul fatto che: se le precondizioni (condizioni sull'input) sono valide, allora sono garantite quelle sull'output.

Astrazione per parametri

Alla funzione vengono passati parametri; si consente così il suo riutilizzo evitando che questa operi soltanto su parametri globali (e quindi non passati).

Funzione parziale

Una funzione è parziale se il suo comportamento non è deterministico solo per un insieme degli input validi secondo l'argomento. Ad esempio, l'argomento int[] e creare una funzione append che raddoppia se la lunghezza di tale vettore deve sempre essere gestita in un certo modo.

Anteprima
Vedrai una selezione di 5 pagine su 20
Programmazione orientata agli oggetti - Appunti Pag. 1 Programmazione orientata agli oggetti - Appunti Pag. 2
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Programmazione orientata agli oggetti - Appunti Pag. 6
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Programmazione orientata agli oggetti - Appunti Pag. 11
Anteprima di 5 pagg. su 20.
Scarica il documento per vederlo tutto.
Programmazione orientata agli oggetti - Appunti Pag. 16
1 su 20
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher lore9625 di informazioni apprese con la frequenza delle lezioni di Programmazione orientata agli oggetti e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Udine o del prof Brajnik Giorgio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community