Capitolo-5 Flashcards
Programmazione ad Oggetti Utilizzando Java: Incapsulamento ed Eredità.
Programmazione ad Oggetti
La programmazione ad oggetti (OOP) è un paradigma di programmazione basato sul concetto di ‘oggetti’, che possono contenere dati e codice per manipolare i dati.
Breve Storia della Programmazione ad Oggetti
La programmazione ad oggetti è emersa negli anni ‘60 con il linguaggio Simula, ed è stata popolarizzata da linguaggi come Smalltalk, C++ e Java.
Paradigmi della Programmazione ad Oggetti
I paradigmi principali della OOP sono l’astrazione, l’incapsulamento, l’ereditarietà e il polimorfismo.
Astrazione e Riuso
L’astrazione permette di modellare entità del mondo reale, nascondendo i dettagli complessi, mentre il riuso permette di utilizzare il codice esistente per ridurre la ridondanza.
Incapsulamento
L’incapsulamento è la pratica di nascondere i dettagli interni di un oggetto e di esporre solo ciò che è necessario attraverso metodi pubblici.
Prima Osservazione sull’Incapsulamento
L’incapsulamento migliora la modularità e facilita la manutenzione del codice, poiché i dettagli interni di un oggetto possono essere modificati senza influenzare il codice esterno.
Seconda Osservazione sull’Incapsulamento
L’incapsulamento aiuta a proteggere i dati da accessi non autorizzati e da modifiche indesiderate.
Il Reference this
Il reference this viene utilizzato all’interno di un metodo per riferirsi all’oggetto corrente.
Stili di Programmazione a Confronto
Stili di programmazione come la programmazione procedurale e la OOP differiscono nel modo in cui organizzano e gestiscono il codice.
Quando Utilizzare l’Incapsulamento
L’incapsulamento dovrebbe essere utilizzato per migliorare la modularità e la protezione dei dati in un programma.
Ereditarietà
L’ereditarietà è un meccanismo che permette a una classe di ereditare campi e metodi da un’altra classe.
La Parola Chiave extends
La parola chiave extends viene utilizzata per dichiarare una classe che eredita da un’altra classe.
Ereditarietà Multipla ed Interfacce
Java non supporta l’ereditarietà multipla di classi, ma permette l’implementazione di più interfacce.
La Classe Object
La classe Object è la superclasse di tutte le classi in Java e fornisce metodi comuni come toString(), equals() e hashCode().
Quando Utilizzare l’Ereditarietà
L’ereditarietà dovrebbe essere utilizzata per rappresentare relazioni ‘is-a’ tra classi.