La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercizio 2. Si mostri l’evoluzione dello stato (ambiente di classi, heap, pila) durante la valutazione delle seguenti dichiarazioni di classe nei punti.

Presentazioni simili


Presentazione sul tema: "Esercizio 2. Si mostri l’evoluzione dello stato (ambiente di classi, heap, pila) durante la valutazione delle seguenti dichiarazioni di classe nei punti."— Transcript della presentazione:

1 Esercizio 2

2 Si mostri l’evoluzione dello stato (ambiente di classi, heap, pila) durante la valutazione delle seguenti dichiarazioni di classe nei punti (1)-(6) durante l’esecuzione del metodo main. public class Up extends Object { public static int x; public int y; public Up met1() { int y=0; y=this.y+3; this.y=x+2; return this; (5) } public void met2() {x=y+y; y=this.y+1;} {x=2;y=x+1;} } public class Down extends Up { public int z; public Up met1() {int y=0; met2(); (6) this.y=y+1; z=y + this.y; return this; } {z=y-1;} } public class Princ extends Object { public static void main() { Up p1 = new Down(); (1) Up p2=p1.met1(); (2) Up p3=new Up(); (3) p1=p3.met1(); (4) } }

3 Ambiente delle classi  0 Object Up Down Princ Variabili e metodi non staticiVariabili e metodi staticiClasse ereditataNome classe Object Up Object main--- 0x 11 0z 0y Descr met1 met1 Descr Dow Down Descr Up Up 33 22 0y Descr met2 met2 Descr met1 met1 Descr Up Up 22 11 Descr met2 met2

4 Descr met1 = Descr met2 = Descr Up = Ambiente delle classi  0 Descr met1 = Descr Down = Ereditarieta' sul costruttore Overriding del metodo met1

5 Stato iniziale:  : Ambiente delle classi  : Heap vuota  : Contiene il record di attivazione di main Princ Pila dei Frames vuota

6 Prima Istruzione del main: Up p1 = new Down() (1)  com  Creazione di un oggetto: l1l1 '' Down Copia del frame e dell'ambiente dei metodi di istanza da Down. 3y Valutazione del costruttore (come metodo di istanza) : {x=2;y=x+1;z=y-1;} 2z

7 Il valore ritornato e’ assegnato alla variabile p1 nel frame al top della pila nel record di attivazione corrente Princ l1l1 p1p1  Istanziato per l 1 :   ' = instantiate (  ,l 1 ) !  l1l1 '' Down 3y 2z 11 2x

8 Seconda Istruzione del main: Up p2 = p1.met1() (2)  fmet   '(met1) Princ l1l1   '  com 0y  ' ' l1l1 '' Down 4y 2z l1l1 p1p1 22 6x Stato nel punto (6):

9 Stato nel punto (2): Princ   l1l1 '' Down 1y 1z l1l1 p1p1 22 6x l1l1 p2p2

10 Terza Istruzione del main: Up p3 = new Up() (3)  com  l2l2   '' Up 3y l1l1  Princ l1l1 p1p1 l1l1 p2p2 l2l2 p3p3 '' Down 1y 1z 33 2x

11 Quarta Istruzione del main: Up p1 = p3.met1() (4)  com  fmet   '' (met1) /// Princ l2l2   ' 6y 33 2x Stato nel punto (5):  l2l2   '' Up 4y l1l1 '' Down 1y 1z

12 Stato nel punto (4)  l2l2   '' Up 4y l1l1  Princ l2l2 p1p1 l1l1 p2p2 l2l2 p3p3 '' Down 1y 1z 33 2x


Scaricare ppt "Esercizio 2. Si mostri l’evoluzione dello stato (ambiente di classi, heap, pila) durante la valutazione delle seguenti dichiarazioni di classe nei punti."

Presentazioni simili


Annunci Google