Re: Opsezi klasa predaka
> 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.
>
Trebate da stavite opseg trenutne klase i da jos postavite opseg nadklase
kao spoljasnji. Mozete da stavljate opsege na stek ali mislim da je to
nepotrebna komplikacija. Ako opseg klase ima kao spoljasnji opseg nadklase
a ne opseg celog fajla metoda find ce ispravno traziti simbole.
> 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.
>
moze i this.x i x.
> Unapred zahvalan na savetima.
>
> Pozdrav
> Petar
> 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.
>
Trebate da stavite opseg trenutne klase i da jos postavite opseg nadklase
kao spoljasnji. Mozete da stavljate opsege na stek ali mislim da je to
nepotrebna komplikacija. Ako opseg klase ima kao spoljasnji opseg nadklase
a ne opseg celog fajla metoda find ce ispravno traziti simbole.
> 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.
>
moze i this.x i x.
> Unapred zahvalan na savetima.
>
> Pozdrav
> Petar
- References:
- Opsezi klasa predaka
- From: "Bojic Petar" <rapecafa@verat.net>
- Opsezi klasa predaka
Previous by date: Opsezi klasa predaka
Next by date: Par napomena za domaci
Previous by thread: Opsezi klasa predaka Next by thread: Par napomena za domaci
Previous by thread: Opsezi klasa predaka Next by thread: Par napomena za domaci