581326-3 Java-ohjelmointi, koe 24.6.2002/AW (Avoin yliopisto)

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi. Jokainen vastaus omalle arkilleen!
  1. Julkisen ja yksityisen luokka- ja ilmentymäkaluston (kenttien ja metodien) käyttötapoja voidaan havainnollistaa nelikentällä:
           |  static                      | ei-static
    -------|------------------------------|-------------------------
    public |                              |
    -------|------------------------------|-------------------------
    private|                              |
    -------|------------------------------|-------------------------
    
    
    Selitä lyhyesti millaisia käyttötapoja noilla neljällä erilaisella tapauksella on.
                                                               (12 pistettä)
    

  2. Käytössäsi on luokka Alkuelain: Mitään muuta Alkuelain-luokasta ei sitten tiedetäkään! Ei tiedetä esimerkiksi perimätaulukon kokoa tai sisällön merkitystä (taulukon koko on kuitenkin aina vähintään yksi). Myöskin pariutumisen mekanismi on Alkuelain-luokan salaisuus.

    Älyeläin on alkueläimen kehittyneempi sukulainen. Sillä on alkueläimen ominaisuuksien lisäksi ns. älykkyysosamäärä, joka on jokin kokonaisluku välillä 1-200.

    Ohjelmoi Alyelain luokan Alkuelain aliluokkana:

                                                                 (14 pistettä)
    

  3. Eräs Java-ohjelmointia opiskeleva ystäväsi ei ole ihan täydellisesti ymmärtänyt, mitä tarkoitetaan metodin kuormittamisella (overloading), korvaamisella (overriding) ja perimisellä (inheritance), eikä edes sitä, miksi niiden ymmärtäminen voisi olla tärkeää. Auta ystävääsi ja laadi hänelle asiasta kirjallinen selitys. Muista että esimerkit auttavat oppimisessa. Vastauksen arvioinnissa otetaan huomioon selostuksen ajateltu lukija. Älä siis kirjoita tarkastajalle, joka jo osaa asian, kirjoita tuolle kuvitteelliselle ystävälle!
                                                                 (12 pistettä)
    

  4. Käytössäsi on tekstitiedostojen lukemiseen luokka Syottotiedosto. Luokalla on konstruktori Syottotiedosto(String nimi). Parametrina annetaan tiedoston nimi. Rivejä luetaan luokan ilmentymämetodilla
      public String lueRivi()
    
    Tiedoston loppuminen ilmaistaan null-arvolla.

    Käytössäsi on myös tekstitiedostojen kirjoittamisen väline, luokka Tulostiedosto. Luokalla on konstruktori Tulostiedosto(String nimi). Parametrina annetaan tiedoston nimi. Rivejä kirjoitetaan ilmentymämetodilla

      public void kirjoitaRivi(String rivi)
    

    Poikkeuksiin on varauduttu näissä luokissa: Virheen sattuessa saadaan ilmoitus ja ohjelman suoritus keskeytyy.

    Laadi ohjelma KorvaaMerkit. Ohjelma kysyy käyttäjältä korvattavan merkin ja korvaavan merkin sekä syöttö- ja tulostiedoston nimen. Ohjelma tekee syöttötiedostosta sellaisen kopion, jossa kaikki korvattavat merkit on korvattu korvaavilla merkeillä.

    Ohjelman ei siis tarvitse itse käsitellä poikkeuksia, tiedostonkäsittelyluokat pitävät niistä huolen.

                                                                (14 pistettä)
    

Onnea kokeeseen ja hauskaa kesää!