L1 / OLO

Harjoitus 1:  Arvosteluohjeet:


Yleistä:

Tehtävä 1.1 (20p)

Kirjoita luokka Thing seuraavien ohjeiden mukaisesti:...

Tehtävä 1.2 (20p)

Kirjoita Thing-luokkaan uusi metodi setName(String n), joka asettaa esineelle uuden nimen vanhan nimen tilalle.


Täydennä Main1-luokkaa siten, että asetat main-metodin lopussa kirja-esineelle uuden nimen "Java-oppikirja" ja tulostat sen jälkeen
kirjan nimen book.print()-metodin avulla.

Tehtävä 1.3 (30p)

Kirjoita luokan Thing aliluokka Radio. Voit itse päättää, mitä muuttujia luokkaan laitat, mutta luokalla on oltava seuraavat metodit:

     Radio: luontimetodi (constructor), jolle annetaan parametrina olion nimi.

     powerOn: laita radio päälle
     powerOff: laita radio pois päältä      isOn: jos radio on päällä, palauta true, muuten false.      getChannel: tämän hetkisen kanavan palauttaminen.
     setChannel: aseta radio annetulle kanavalle.      print: tulosta radion tila, eli millä kanavalla se on, ja onko virta päällä. Muista tulostaa myös esineen nimi.

Harjoitus 1.4 (50p)

Kirjoita uuteen tiedostoon Person.java luokka Person. Luokkaan kuuluvilla oliolla on muuttujat
   name: henkilön nimi merkkijonona (String)
   room: huone, jossa henkilö on
   thing: esine, jota henkilö mahdollisesti kantaa tai null Luokalla tulee lisäksi olla seuraavat metodit:

   Person: luontimetodi (constructor), jolle annetaan parametrina henkilön nimi ja huone, jossa henkilö aluksi on

   getName: palauttaa henkilön nimen
   getRoom: palauttaa huoneen, jossa henkilö on    moveTo: henkilö siirtyy parametrina annettuun huoneeseen    getThing: palauttaa henkilön mahdollisesti kantaman esineen; mikäli henkilö ei kanna esinettä, palautetaan null    pickUp: henkilö nostaa huoneessa mahdollisesti olevan esineen kannettavakseen    putDown: henkilö jättää mahdollisesti kantamansa esineen huoneeseen, mikäli huoneessa ei jo ole esinettä    print: henkilön tietojen tulostaminen Huomaa seuraavat seikat. Ennenkuin henkilö yrittää siirtyä uuteen huoneeseen, tulee tarkistaa, ettei huoneessa ole jo joku. Samoin ennen kuin henkilö yrittää laskea jonkin esineen, on tarkistettava, ettei huoneessa jo ole esinettä. Kun henkilö siirtyy uuteen huoneeseen, on päivitettävä muuttujan room sisältö. Tämän lisäksi on huolehdittava siitä, että huoneiden vastaavia muuttujia person tulee päivitettyä. Vastaavasti kun henkilö nostaa tai jättää esineen, on huoneen muuttujia päivitettävä.