Ohjelmointitekniikka (Java)                                                 Kuulustelu 3.5.2007

  1. Selosta seuraavat Java-kieleen liittyvät käsitteet tai mekanismit, ja havainnollista niiden toimintaa koodiesimerkeillä.

    (a)  luokkainvariantti (class invariant),
    (b)  finally-lohko,
    (c)  Runnable-rajapinta,
    (d)  säikeen estetty (blocked) tila.
     
    (12 p.)

  2. Laadi vastaukset seuraaviin Java-kielen käyttöön tai rakenteisiin liittyviin kysymyksiin. Anna kussakin kohdassa ainakin yksi kyseistä käsitettä tai kielen rakennetta havainnollistava Java-koodiesimerkki. Selosta esimerkkisi.

    1. Selosta Java-kielen assert-mekanismin toiminta, tavoitteet ja edut. Vertaa assert-piirrettä kielen omiin valmiisiin virheentarkastusmekanismeihin: millä tavalla ne ovat samanlaisia, ja miten ne eroavat toisistaan?

    2. Mikä on Comparator? Millä tavalla Java-ohjelmat käyttävät Comparator-olioita. Laadi Java-ohjelma, jossa on käytössä Comparator-olio.

    3. Mikä on kääntäjän luoma bridge-metodi ja mihin sitä tarvitaan?


    (9 p.)

  3. Kirjoita lyhyt essee (maksimi puolitoista sivua) seuraavasta aiheesta. Tarkastele myös aiheeseen liittyvien ratkaisujen/tekniikoiden taustaa ja tavoitteita sekä mahdollisia etuja ja puutteita. Käsittele asiaan liittyviä ohjelmointitekniikoita ja tyyliohjeita.
     
       "Javan collection-kirjasto, sen rakenneosat ja toteutus"
     
    Tarkastele lisäksi: Noudattavatko ratkaisut olio-ohjelmoinnin periaatteita? Miten Java-kielen piirteet tai ominaisuudet ovat vaikuttaneet kirjaston ratkaisuihin?
     
    (7 p.)

     

                                                                                               Turn the page, please.


 

 

                                                                                           
Anna palautetta kurssista: muista vastata kurssikyselylomakkeen kysymyksiin..