Helsingin yliopisto / Tietojenkäsittelytieteen laitos / Java-ohjelmointi

Kokeen tarkastusvirhe ja sen korjaaminen

(Arto Wikla 30.1.2004)

Kurssikokeen (17.12.2003) toisen tehtävän tarkastuksessa on tapahtunut valitettava virhe, joka huomattiin palautetilaisuudessa 28.1.2004.

Kyseessä on viittaaminen parametrina saadun oman luokan ilmentymän private-kenttiin. Tästä oli vähennetty 2-4 pistettä tilanteesta riippuen. Javassa "privaattius" kuitenkin liittyy luokkaan, ei rajoitu olioon. Asiasta keskusteltiin luennoilla ja on syytä olettaa, että kurssin opiskelijat todella tuntevat tämän ominaisuuden ja osaavat sitä käyttää.

Siis esimerkiksi kakkostehtävän luokan Basilisko metodin LaskeLapsenPerima(Basilisko toinen) lauseke

   this.perima[i] + toinen.annaPerima()[i]
on luvallista kirjoittaa myös muodossa
   this.perima[i] + toinen.perima[i]
Tässä siis luokassa Basilisko viitataan parametrina saadun Basilisko-olion privaattikenttään käyttämättä aksessoria. Tämän Java sallii. (Mutta viittaus perittyyn private-kenttään perimä aliluokassa FlunssaBasilisko olisi mahdotonta! Mahdotonta on viitata niin this-olion kuin parametriolionkin tällaiseen kenttään.)

Tiettävästi melkoisesta joukosta vastauksia on siis virheellisesti vähennetty 2-4 pistettä.

Kurssin tulokset korjataan seuraavasti:


Takaisin kurssin pääsivulle.