Inizio corso
Programmazione a oggetti
Tutto è un oggetto
- Un oggetto è un po’ come un piccolo computer
- Ha uno stato
- Può eseguire delle operazioni
- Ogni oggetto ha una propria memoria “fatta” di altri oggetti (incapsulamento e information hiding)
- Un nuovo oggetto può esser creato utilizzando oggetti esistenti
- Un programma può nascondere la sua complessità mediante la semplicità degli oggetti
Ogni oggetto ha un suo tipo
- Ogni oggetto è istanza di una classe
- 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 funzionalitĂ simili
- La super classe “Forma” possiede delle sottoclassi “Cerchio”, “Triangolo”, “Rettangolo”
Polimorfismo
E’ possibile utilizzare la classe base senza dover conoscere necessariamente la classe specifica
- Permetti di scrivere codice che non dipende dalla classe specifica
- Posso aggiungere nuove sottoclassi anche in seguito
Java
Java
- è un linguaggio di programmazione nato nel 1995
- costruito per essere “sicuro”, cross-platform e internazionale
- Cross-platform → funziona su tutti i sistemi operativi
Java è continuamente aggiornato con nuove feature e librerie:
Portabile “WORA” (write once, run anywhere)
|
E’ il linguaggio delle applicazioni di business Android SDK usava Java
Caratteristiche di Java
Elenco
Indipendenza della piattaforma
Al contrario dei linguaggi C e C++ non viene compilato su una macchina o piattaforma, ma nel bytecode di una macchina virtuale
Sicurezza
Non permette manipolazioni
- Le tecniche di autenticazione sono basate su chiavi pubbliche e private
Robustezza
Situazioni tipiche d’errore vengono eliminate il più possibile a tempo di copulazione
Multithreaded
Supporta nativamente programmi che gestiscono attivitĂ eseguite in contemporanea (thread)
- Facilita la costruzione di applicazioni interattive
Interpretato e compilato
Il byte code e tradotto “al volo” in istruzioni macchina native
- Rende piĂą veloce e snello il processo di sviluppo