«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2006

Re: Nasledjivanje klasa

by Igor Kaplanovic
četvrtak, 01. jun 2006 - 21:55.

Metoda je jedna te ista i uvek na istoj adresi za osnovnu i izvedenu klasu.
Jedino strukture koje predstavljaju polja klase treba da su razlicite
ali tako da su pozicije polja koja se pojavljuju u osnovnoj klasi na
istoj adresi/ofsetu kao u izvedenoj.

class A {int x, y;}
class B extends A {int z;}
za A je
0:CD
1:x
2:y

za B je
0:CD
1:x
2:y
3:z

Ovo je bas zato da bi metoda osnovne klase mogla da radi i u izvedenoj.

Pozdrav,

Igor

On 6/1/06, Nikola Jelisavac <jelenik@sbb.co.yu> wrote:

U skripti za generator koda je objasnjeno da se polja bazne klase kopiraju u
polja izvedene klase pri kreiranju simbol tabele.
Zanima me da li se ovo isto radi i u slucaju metoda, tj. da li se i one
kopiraju u izvedenu klasu ili postoji jedna zajednicka metoda za baznu i
izvedenu klasu?
Ovo mi je bitno da bih znao da razresim adresu na koju treba da se skoci pri
pozivu metode.

Pozdrav,
Nikola

PS. Ovo me sve zanim za nivo C2, znaci bez polimorfizma i instrukcije
invokevirtual.



-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
-----------------------------------------------------------------