Concetti Fondamentali di Programmazione Orientata agli Oggetti e Strutture Dati
Classificato in Matematica
Scritto il  in  italiano con una dimensione di 4,86 KB
italiano con una dimensione di 4,86 KB
Fondamenti di Programmazione Orientata agli Oggetti (OOP)
1. Oggetto e Classe
Un oggetto è un'entità dotata di una serie di proprietà o attributi (dati) e di un comportamento o funzionalità (metodi) che reagiscono agli eventi. Esso corrisponde agli oggetti reali del mondo che ci circonda, o a oggetti di sistema interni (del programma). È un'istanza di una classe.
2. Metodo
Un metodo è un sottoprogramma associato esclusivamente a una classe o a un oggetto. È definito come un insieme di azioni che un oggetto può adottare per conseguire uno scopo. I metodi rappresentano la parte viva e interessante di un oggetto e sono comunemente usati per modificare le proprietà dell'oggetto. Modificando le proprietà dell'oggetto, si cambia il suo aspetto e si genera un cambiamento che l'utente dell'applicazione può percepire.
3. Proprietà
Le proprietà sono le caratteristiche osservabili di un oggetto. Sono riconosciute perché descrivono l'aspetto di un oggetto che possiamo misurare con un livello predeterminato. A ogni proprietà deve essere assegnato un valore che identifica in modo univoco l'oggetto.
4. Polimorfismo
Il polimorfismo si riferisce alla capacità di varie classi derivate da una classe antenata (o base) di utilizzare lo stesso metodo in modo diverso.
5. Ereditarietà
Un oggetto è derivato (o erede) di un altro quando possiede tutte le sue proprietà e tutti i suoi metodi e riconosce tutte le sue interfacce, ma può godere di proprietà, metodi ed eventi aggiuntivi. L'ereditarietà è definita come la funzione per cui gli oggetti derivano gli uni dagli altri.
6. Incapsulamento
L'incapsulamento è la proprietà degli oggetti che nasconde i dettagli interni, assicurando che il contenuto informativo di un oggetto sia celato al mondo esterno.
7. Messaggio
Il messaggio è essenzialmente un ordine inviato a un oggetto per indicargli di eseguire una certa azione. Il messaggio è anche definito come la trasmissione completa delle informazioni da un oggetto mittente a un oggetto ricevitore. Un messaggio ha tre elementi:
- L'oggetto ricevente.
- Il tipo di evento.
- I dati necessari per il ricevitore.
Quando si verifica un evento, l'oggetto ricevente conosce l'oggetto mittente, quale evento si è verificato e il valore dei dati associati a tale evento.
8. Organizzazione in Classi
Gli oggetti sono organizzati in famiglie ben definite. Una famiglia è riconosciuta in quanto raggruppa oggetti che ereditano elementi comuni. Il modello di programmazione visuale, come la natura, organizza gli oggetti in classi (famiglie); una classe è l'insieme di oggetti appartenenti a una famiglia.
9. Istanziazione
L'istanziamento è l'atto di creare un oggetto appartenente a una classe (si dice che è l'istanza della classe). L'oggetto creato possiede le proprietà, gli attributi e i metodi della classe a cui appartiene.
Strutture Dati Fondamentali
11. Albero (Struttura Dati)
Un albero è una struttura dati ampiamente utilizzata che imita la forma di un albero (un insieme di nodi collegati).
12. B-Alberi
I B-alberi sono strutture dati ad albero che si trovano comunemente nelle implementazioni di database e file system. Sono alberi di ricerca in cui ogni nodo può avere più di due figli.
13. Albero Binario
Un albero binario è una struttura dati in cui ogni nodo ha al massimo un figlio sinistro e un figlio destro. Non possono avere più di due figli (da qui il nome 'binario').
Se un nodo figlio ha un riferimento a null, cioè non memorizza dati, viene chiamato nodo esterno (o foglia). Altrimenti, il nodo figlio viene chiamato nodo interno.
14. Hashing e Funzione Hash
L'Hashing si riferisce a una funzione o metodo per generare chiavi che rappresentano in modo quasi esclusivo un documento, un record, un file, ecc., o per riassumere i dati attraverso la probabilità, utilizzando una funzione hash o algoritmo di hash. Un hash è il risultato di tale funzione o algoritmo.
Le impostazioni variano in base al punto di partenza e di arrivo e a come influenzano le somiglianze di output o i modelli di input. Una proprietà fondamentale dell'hashing è che se due risultati della stessa funzione sono differenti, allora anche i due input che hanno generato quei risultati lo sono. Ci può essere lo stesso risultato hash per oggetti diversi (collisione), dal momento che la gamma di possibili chiavi è molto inferiore all'insieme di oggetti possibili.
