



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Documento con la spiegazione dei principali concetti teorici dell'OOP in Java
Tipologia: Schemi e mappe concettuali
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




La programmazione ad oggetti è vicina al nostro modo di pensare e per questo motivo, è più facile da comprendere. Oggetto : entità del problema identificata da uno stato interno e che possiede attributi (caratteristiche) e metodi (comportamenti). Classe : parte del programma (/codice sorgente) che descrive e definisce le caratteristiche e i comportamenti degli oggetti che le appartengono. Ogni oggetto è di un certo tipo classe. Portabilità Java codice sorgente non viene tradotto immediatamente in eseguibile, ma in un linguaggio chiamato ByteCode , esso viene dato in ingresso ad un software che lo interpreta e lo fa eseguire alla CPU. Questo software è la JVM (Java Virtual Machine). JVM interpreta il codice. Il ByteCode è portabile, è eseguibile su ogni sistema operativo a patto che venga installata la JVM. Ostacoli alla portabilità: Versione JVM e architettura della macchina (32/64 bit).
all’interno di una stessa classe. Esistono due tipi di polimorfismo. Overriding e Overloading Overriding permette di ridefinire, all’interno di una sottoclasse, il metodo ereditato da una superclasse mantenendone la firma (tipo, nome, parametri), ma cambiandone l’implementazione interna. Overloading permette di avere in una stessa classe metodi con lo stesso nome ma che variano per numero e/o tipo di parametri. Information Hiding L’obiettivo di ogni programmatore è quello di incapsulare attributi e metodi mantenendo le informazioni il più privato possibile. Per far questo getters/setters, metodi che permettono di leggere/valorizzare attributi privati. Hanno diversi vantaggi rispetto all’uso di public:
Metodo Blocca overRiding Lo rende invocabile anche senza l’istanziazione Privo di implementazione interna, costringe overRide nelle sottoclassi
contiene i parametri della funzione e le variabili locali. Quando la funzione termina il record di attivazione viene eliminato. Nel punto più basso dello stack si trova la funzione main, la prima ad essere richiamata. Gestione LIFO Last In First Out (Stack) Gestione FIFO First in First Out (Code) Le anomalie Errori ed eccezioni gestiti da classi. Classe Throwable sottoclasse di Object. Da throwable dipendono due classi error e exception. Gli errori non possono essere gestiti, poiché generati dalla virtual machine. Le anomalie (/eccezioni) possono essere gestite. Da exception dipendono tutti i tipi di eccezione. Try { String line = br.readLine(); } catch(IOException errore) { errore.printStackTrace(); } La superclasse Throwable ha duesottoclassi dirette, sempre in java.lang
- Error o Errori fatali, dovuti a condizioni incontrollabili Esaurimento delle risorse di sistema necessarie alla JVM, incompatibilità di versioni,… In genere i programmi non gestiscono questi errori - Exception o Tutti gli errori che non rientrano in Error I programmi possono gestire o no questi errori a seconda dei casi Un’ anomalia è un evento che interrompe la normale esecuzione del programma Se si verifica un’eccezione il metodo trasferisce il controllo ad un gestore delle eccezioni. Il suo compito è quello di uscire dal frammento di codice che ha generato l’eccezione e decidere cosa fare. Il metodo br.readLine() può lanciare un oggetto di tipo IOException. Catch può catturare questo oggetto e gestirlo. Scrivere Exception o Throwable permette in qualsiasi caso il funzionamento.
Due categorie: