Cos’è e a cosa serve
Fornisce nuovi strumenti per rappresentare elementi nello spazio del problema. Gli elementi sono chiamati oggetti.
Tutto è un oggetto
Un oggetto è un po’ come un piccolo computer: ha uno stato e ha delle operazioni che possono essere eseguite
Ex. Modellare una lampadina
- Stato: accesa vs. spenta
- Operazioni: collega, scollega
Per effettuare una richiesta, si invia un messaggio a quell’oggetto. Un oggetto è una richiesta di chiamata a una funzione (metodo) che appartiene a un particolare oggetto (collega(), scollega())
Ogni oggetto ha una propria memoria fatta di altri oggetti (incapsulamento e information hiding)
Un nuovo tipo di oggetto può essere creato utilizzando oggetti esistenti
Un programma può nascondere la sua complessità mediante la semplicità degli oggetti
Metodi e classi
Ogni oggetto ha un suo tipo (classe). Ogni oggetto è un istanza di una classe e la classe è identificata dai messaggi (metodi) che essa possiede.
Tutti gli oggetti di uno stesso tipo possono ricevere gli stessi messaggi
EreditarietĂ
Vogliamo evitare di ricreare nuove classi di oggetti quando esse hanno una funzionalitĂ simili
Polimorfismo
E’ possibile utilizzare la classe base, senza dover conoscere necessariamente la classe specifica di un oggetto e permette di scrivere codice che non dipende dalla classe specifica. Si possono aggiungere nuove sottoclassi anche in seguito.