ITI0011-2015:harjutus 07

Allikas: Kursused
Redaktsioon seisuga 11. märts 2015, kell 11:45 kasutajalt Ago (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

Kirjeldus

Luua kaks klassi: Car ja Person. Esimene on sõiduk, teine on võimalik sõiduki omanik. Täpsem klasside kirjeldus allpool. Kõik väljad peavad olema teiste klasside eest peidetud. Ligipääsemiseks peab looma get ja set meetodid. Automaattestid kontrollivad rangelt kõiki siin mainitud nimesid. Seega, palun jälgida, et nimed saaksid täpselt sellised, nagu juhendis kirjas.

Lahendus peaks olema nagu ikka kaustas EX07. Selle kausta all (kas otse või mõnes alamkaustas) peaks olema kolm faili: Car.java, Person.java ja näiteks Main.java (selle nimi võib olla suvaline). Ainult viimane neist peaks sisaldama main-meetodit. Kõik failid peaksid olema ühes kaustas (ehk ühes package'is).

Lisaks mainitud kahele klassile tuleks luua kolmas klass, mille sees on main meetod. Main meetodis võiks teha järgmised tegevused:

  • looge uus sõiduki objekt c
  • määrake sellele mudel
  • looge uus persooni objekt p
  • määrake sõiduki c omanikuks persoon p
  • looge üks teine sõiduk c2
  • määrake sõiduki c2 omanikuks p
  • looge uus persooni objekt p2
  • määrake sõiduki c2 omanikuks p2.

Sellele lisaks võite muid katsetusi teha. Näiteks printige välja, mis on sõidukite omanike nimed.

Car

Sõidukil peab olema kaks välja: model ja owner. Esimese andmetüüp on String, teise andmetüüp on Person. Ehk siis omanik on Person objekt. setOwner meetod tuleb muuta selliselt, et kõigepealt kutsub ta sõiduki praegusel omanikul välja meetodi takeAwayCar() ja prindib saadud sõne välja, uuel omanikul kutsub välja meetodi becomeCarOwner() ja prindib saadud sõne välja, seejärel muudab omanikuks meetodisse kaasa antud Person objekti. Lisaks on sõidukil kaks konstruktorit. Üks on tühi (võimaldab väljakutset new Car();), teine tahab kaasa saada mudelit (väljakutse new Car("Audi");).

Person

Persoonil on väli name. Objekil on konstruktor, mis võtab ette sõne ja määrab selle persooni nimeks. Lisaks on klassis meetodid: takeAwayCar() ja becomeCarOwner(). Kumbki meetod tagastab sõne (tagastustüüp String), kus sees peaks olema objekti nimi. Näiteks võib tagastatav sõne olla "mati on kurb, kuna talt voeti auto ara" või "kati sai endale auto :)". Ärge täpitähti sõnes kasutage.