Anteprima
Vedrai una selezione di 1 pagina su 2
Programmazione - programmazione Java 2 Pag. 1
1 su 2
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

1. Gestione della Memoria Stack:

lo stack o pila è una parte della memoria utilizzata per contenere i dati dei singoli metodi.

1.1 Al momento della chiamata di un metodo sullo stack viene memorizzato il punto di rientro dal

metodo nel record di attivazione del metodo chiamante (quello sottostante);

1.2 viene creato un nuovo record di attivazione;

1.3 al quale vengono passati i parametri;

1.4 al termine del metodo vengono memorizzati i risultati nel record di attivazione inferiore;

1.5 viene distrutto il record di attivazione del metodo appena terminato;

1.6 si prosegue l’esecuzione dal punto di rientro.

Al momento della chiamata di un metodo sullo stack, viene creata la nuova cella per il nuovo

metodo (rec2) e nel rec1 si memorizza il punto di rientro (program counter). Avviene un passaggio

di parametri dal rec1 al rec2 e il rec2 comincia ad eseguire le operazioni richieste, al termine delle

quali ripasserà i valori al record sottostante (rec1) e verrà distrutto il rec2. Infine, si prosegue dal

punto di rientro memorizzato.

Può capitare che per metodi ricorsivi, un metodo richiami se stesso e quindi eseguirà i punti 1-2-3

fino a risolvere le operazioni richieste, per poi eseguire i punti 4-5-6 lo stesso numero di volte.

2. Regole di promozione implicita ed esplicita:

è possibile avere una promozione solo tra superclassi e sottoclassi o supertipi e sottotipi (i due

oggetti devono stare sullo stesso ramo della gerarchia), si ha promozione implicita quando si cerca

di assegnare a una variabile di tipo superiore un’espressione di tipo inferiore, mentre è necessaria

una promozione esplicita attraverso il “cast” per assegnare a una variabile di un tipo inferiore

un’espressione (o un valore) di un tipo superiore. (per fare un cast bisogna indicare tra parentesi il

tipo della variabile alla quale si intende “castare” l’oggetto).

Stessa cosa per i tipi numerici primitivi (espliciti ed impliciti); con il tipo riferimento String, invece,

saranno tutte promozioni implicite.

3. Eccezioni:

le eccezioni si dividono in controllate e non controllate, quelle controllate appartengono alla classe

Exception, quelle non controllate appartengono alla classe RuntimeException (che è una

sottoclasse di Exception). I due gruppi si differenziano per il modo in cui vengono trattate dal

compilatore, il quale controlla (per quelle controllate) che ogni costruttore o metodo che possa

sollevare un eccezione ne fornisca un trattamento esplicito per come gestirle (altrimenti segnala un

errore). Il trattamento può avvenire tramite intercettazione (try-catch) o delegandola

esplicitamente al chiamante mediante un’opportuna dichiarazione nell’intestazione del metodo o

del costruttore (throws, che la solleva). Le eccezioni NON controllate non vengono controllate dal

compilatore e quando non sono intercettate, vengono automaticamente delegate al chiamante.

4. Ereditarietà tra classi:

in java esiste una gerarchia tra le classi e tra i tipi riferimento, grazie a questa è possibile avere

superclassi, sottoclassi, supertipi e sottotipi. Ogni sottoclasse erediterà dalla classe che estende e

dalle interfacce che implementa i campi e i metodi, mentre invocherà il costruttore della classe

superiore che a sua volta farà lo stesso (cosa che non accada per le interfacce poiché prive di

costruttori!)

5. Regole dei costruttori:

- ogni classe deve contenere almeno un costruttore, se non viene definito automaticamente il

compilatore ne inserisce uno privo di argomenti (il cui corpo è vuoto);

Dettagli
Publisher
A.A. 2013-2014
2 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher koganzjo di informazioni apprese con la frequenza delle lezioni di Programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi dell' Insubria o del prof Ferrari Mauro.