Please enable JavaScript.
Coggle requires JavaScript to display documents.
JAVA - Coggle Diagram
JAVA
OOP
-
Un oggetto è in grado di memorizzare informazioni relative sia alle proprie caratteristiche (aspetti statici non soggetti a cambiamento) sia allo stato in cui esso si trova in un determinato momento (aspetti dinamici soggetti a cambiamento)
Gli attributi sono le informazioni che servono per descrivere l’oggetto e che corrispondono alle caratteristiche dell’oggetto o allo stato in cui esso si trova in un determinato momento
Dal punto di vista della programmazione, gli attributi corrispondono alle variabili (o alle costanti) che vengono utilizzate dall’oggetto per memorizzare le proprie caratteristiche ed il proprio stato.
-
I metodi di un oggetto si utilizzano anche per leggere/modificare il valore degli attributi dell’oggetto stesso
Solitamente l’esecuzione del metodo associato ad un oggetto è invocata da un altro oggetto. Tale richiesta viene chiamata messaggio
Dal punto di vista della programmazione, i metodi corrispondono alle funzioni.
-
-
Una classe specifica gli attributi, senza indicarne il valore, e i metodi che devono avere gli oggetti che appartengono alla classe.
Un oggetto non può essere creato se prima non viene definita una classe a cui l’oggetto deve appartenere
-
Incapsulamento: Il termine incapsulamento indica la proprietà degli oggetti di incorporare al loro interno sia gli attributi che i metodi.
-
-
INFORMATION HIDING: Chi utilizza l’oggetto deve conoscere solo la sua interfaccia, senza conoscere l’implementazione interna degli attributi e dei metodi incapsulati al suo interno, che resta nascosta.
Un obiettivo fondamentale del principio di information hiding è quello di rendere invisibili all’esterno di un oggetto le scelte implementative, che possono essere soggette a modifiche, proteggendo in tal modo il codice che utilizza l’oggetto dalle conseguenze di eventuali modifiche a tali scelte.
ADT:
un insieme di dati e del range di valori che tali dati possono assumere,
cioé del dominio D di appartenenza dei dati (definizione di tipo)
-
-
-
Viene detta astratta nel senso che la sua descrizione è indipendente da qualunque implementazione concreta e anzi una struttura dati astratta a priori può essere implementata in più modi nello stesso linguaggio di programmazione.
Una struttura di dati astratta può essere statica(il numero di elementi in essa contenuti non varia nel tempo; può essere implementata da strutture concrete statiche e sequenziali (ad es. gli array) o dinamica(il numero di elementi in essa contenuti può variare nel tempo;necessita di strutture concrete dinamiche per essere implementata (allocazione dinamica della memoria).
Errori ed Eccezioni
Un’eccezione è una situazione imprevista che può presentarsi durante il flusso di un’applicazione, generalmente a causa di un errore di programmazione.
Le eccezioni possono essere gestite tramite il codice
Un errore, invece, è una situazione imprevista che non dipende da un errore commesso dallo sviluppatore, come ad esempio la terminazione delle risorse di memoria. Pertanto, a differenza delle eccezioni, gli errori non sono gestibili
-
Unchecked exception: sono tutte le eccezioni riferite alla classe RuntimeException e a tutte le sue sottoclassi. La chiamata a un metodo che «lancia» (throws) una di queste eccezioni, non deve essere necessariamente scritta all’interno di un costrutto try…catch.
Checked exception: sono tutte le eccezioni riferite alla classe Exception e a tutte le sue sottoclassi che non estendono RuntimeException. La chiamata a un metodo che «lancia» (throws) una di queste eccezioni, deve essere necessariamente scritta all’interno di un costrutto try…catch.
-
Design Pattern Iterator
Si tratta di un pattern comportamentale basato su oggetti e viene utilizzato quando, dato un aggregato di oggetti, si vuole accedere ai suoi elementi senza dover esporre la sua struttura.
L’obiettivo di questo pattern è quello di disaccoppiare l’utilizzatore e l’implementatore dell’aggregazione di dati, tramite un oggetto intermedio che esponga sempre gli stessi metodi indipendentemente dall’aggregato di dati.
-