Java-ohjelmointi OLO-menetelmällä Edistymiskoe 7.5.2002 Kirjoita vastaukset Xemacsilla tiedostoon, jonka nimi on C:\\sukunimi.txt, missä sukunimi on sinun sukunimesi (ääkköset muutettu a:ksi ja o:ksi). Vastaa kuhunkin kysymykseen lyhyesti ja ytimekkäästi. Useimpiin kohtiin riittää vastaukseksi pari virkettä; muista kuitenkin määrittelyissa ottaa huomioon mikä määriteltävä asia on että mitä se tekee tai mitä sillä tehdään. Myös toimintaperiaatetta kuvattaessa tulee selittää kaikkien osien roolit ja käyttötarkoitus. Esimerkit kirjoitetaan Java-koodina, joskaan niiden ei tarvitse olla kokonaisia Java-ohjelmia tai luokkia, ellei erikseen pyydetä. Niissä riittää koodi, joka sisältää vaaditut osuudet ja niitä varten mahdollisesti tarvittavat määrittelyt. Esimerkki kattaa monissa kohdissa puolet pisteistä, joten niihin kannattaa kiinnittää huomiota. 1) Peruskäsitteet (2 + 2 + 2 + 2 pistettä) Selitä seuraavien käsitteiden merkitys ohjelmoinnissa ja anna kunkin määrittelystä sekä käytöstä esimerkki. a) Vakio b) Muuttuja c) Operaattori d) Varattu sana 2) Kontrolli (3 + 3 + 3 pistettä) Selitä seuraavien rakenteiden toimintaperiaate ja anna esimerkki niiden toiminnasta. a) while-lause b) try-catch -lause c) Sijoituslause 3) Luokat (3 + 3 + 3 + 3 + 3 pistettä) Selosta seuraavien käsitteiden sisältö ja anna esimerkki kustakin tapauksesta. a) Luokkamuuttuja (class variable) b) Luontimetodi (constructor) c) Metodin korvaaminen (overriding) d) Abstrakti luokka e) super 4) Tietorakenteet (4 + 4 + 4 pistettä) Selosta seuraavien rakenteiden toiminta ja anna esimerkki kustakin tapauksesta. a) Linkitetty lista (linked list) b) Iteraattori (iterator) c) Map 5) Kokoelmat Javassa (8 pistettä) Selitä, mitä kokoelmat (collections) ovat, mihin niitä tarvitaan ja mitä välineitä Java-ympäristö tarjoaa niiden käyttöön. 6) IO ja käyttöliittymät Javassa (4 + 4 + 4 + 4) a) Miksi Javassa on lukemista varten Reader ja InputStream -luokkia b) Mitä ovat käyttöliittymäkomponentit. Anna esimerkkejä. c) Miten käyttöliittymäkomponentit saadaan reagoimaan käyttäjän toimintoihin? d) Mitä muita luokkia käyttöliittymiin liittyy komponenttien lisäksi?