La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public class Up extends Object { public.

Presentazioni simili


Presentazione sul tema: "Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public class Up extends Object { public."— Transcript della presentazione:

1 Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public class Up extends Object { public static int x; public int z; public Up met1() {z=z+5; return this;} public void met2() {z=x+4; x=x+i;} {z=x+1;} } public class Down extends Up { public Up y; public Up met1() { z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2; } {y=new Up();} } public class Princ extends Object { public static void main() { Up p1 = new Down(); Up.x = 3; Up p2=p1.met1(); } }

2 Ambiente delle classi 0 Object Up Down Princ non static staticClasse ereditataNome classe Object Up Object main--- 1 2 1 3 2 z0x0 z0 y DownDescr Down met1Descr' met1 met2Descr met2 UpDescr Up met1Descr met1 met2Descr met2

3 Descr met1 = Descr met2 = Descr Up = Descr' met1 = <-, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;}, Down> Descr Down = Ambiente delle classi 0

4 Stato iniziale: : Ambiente delle classi : Heap vuota : Contiene il record di attivazione di main Princ Pila dei Frames vuota!

5 Prima Istruzione del main: Up p1 = new Down(); com l1l1 Princ l1l1 p1p1 ' Down z1 yl2l2 l2l2 ' Up z1

6 Seconda Istruzione del main: Up.x = 3; com Modifica solo l'ambiente delle classi. Frame delle variabili statiche di UP: 1 x0 1 ' x3

7 Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > l1l1 ' Down z1 yl2l2 l2l2 ' Up z1 z=y.z+2; ' l1l1 ' Down z3 yl2l2 l2l2 ' Up z1

8 Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > Down p1=new Down(); '' l3l3 Princ l3l3 p1p1 ' '' Down z4 yl4l4 l4l4 '' Up z4 /// l2l2 l1l1

9 Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > p1.met2(); '' l3l3 Princ l3l3 p1p1 ' '' Down z7 yl4l4 l4l4 '' Up z4 /// l2l2 l1l1 1 ' x3 1 '' x4 2

10 Terza Istruzione del main: Up p2 = p1.met1(); com ' (met1) = < -, {z=y.z+2; Down p1=new Down(); p1.met2(); Up p2=p1.y.met1(); return p2;},l 1 > Up p2=p1.y.met1(); return p2; l3l3 Princ l3l3 p1p1 '' Down z7 yl4l4 l4l4 '' Up z9 /// l2l2 l1l1 l4l4 p2p2


Scaricare ppt "Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public class Up extends Object { public."

Presentazioni simili


Annunci Google