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

Opsezi klasa predaka

by Bojic Petar
ponedeljak, 12. jun 2006 - 13:14.

Pitanje za nivo C2 :
Da li pri otvaranju novog opsega pri obradi deklaracije klase treba na stek opsega staviti i opsege svih klasa predaka klase koja se deklarise. Ovo iz razloga da bi checkName metoda, kada se koristi identifikator u nekoj metodi koji oznacava neko polje klase u kojoj se metoda definise ili neko polje nadredjene klase, vratio ispravno polje. Ovakav postupak bi omogucio preklapanje imena polja u nadredjenoj i izvedenoj klasi.

Jos jedno vazno pitanje:
Da li se u metodi klase moze pristupati poljima klase bez eksplicitnog navodjenja parametra this, npr.
Ako imamo klasu
class A {
var int x;
int fja() {
this.x = 11; // ili moze samo i x=11;
return 0;
}
}
Ukolio bi navodjenje parametra this bilo obavezno, prevodjenje bi bilo olaksano jer bi pri obradi designatora koji
ima tacku u sebi, mogli odmah generisati akciju u kojoj se adresa instance klase stavlja na exp stek i to cim naidjemo na tacku u designatoru.

Unapred zahvalan na savetima.

Pozdrav
Petar