Fortsett p? pargprogrameringsoppgaven fra forrige uke:
Dere skal n? lage et program som modellerer et parkeringshus. Et Parkeringshus skal ha parkeringsplasser hvor b?de Motorsykler og Biler kan parkere. Motorsykler og Biler har en del til felles, bl.a. har de begge en sj?f?r og et registreringsnummer. En bil skal ogs? kunne holde p? alt fra 2 til 5 personer (spesifisert i det bilen lages), og en av disse m? v?re sj?f?ren. a) Tegn opp hvordan dette vil se ut (klassehierarki) b) Skriv alle klassene og inkluder riktige instansvariabler. c) Parkeringshus skal ha to metoder: en for ? sette inn en bil eller en motorsykkel p? en bestemt plass, og en for ? fjerne en bil eller motorsykkel - ogs? p? en gitt plass. (Den andre metoden skal returnere bilen/motorsyklen som st?r p? plassen, og hvis ingen biler/motsykler er der skal null returneres). d) Lag unntaksh?ndtering til parkeringshuset for ? h?ndtere tilfeller der man pr?ver ? sette inn et kj?ret?y n?r det er fullt eller p? en ugyldig plass. Hint: ArrayIndexOutOfBoundsException e) Bruk polymorfi for ? endre p? toString()-metoden til b?de Bil og Motorsykkel, slik at det skriver ut relevant informasjon f) Gj?r det samme med Parkeringshuset slik at det skriver ut informasjon om alle kj?ret?yene som har parkert der. |
Mindre oppgaver:
1.a - Dyr, Hund og Katt: Skriv en abstrakt klasse Dyr. Klassen skal v?re tom, utenom en abstrakt metode lagLyd(). Lag deretter to subklasser av dyr; Hund og Katt. Om man kaller p? lagLyd i et hundeobjekt skal det printes “Voff!” til terminalen. Om man kaller p? lagLyd i et katteobjekt skal det printes “Mjau!” |
I felleskap/gruppen: Skriv et testprogram som demonstrerer denne fordelen. |
1.c - Tegning: P? egen h?nd: Tegn klassehierarki og datastruktur til oppgaven. Diskuter med gruppen: Sammenlign tegninger. Hva har dere gjort ulikt? |
|
2.b - Opprettelse av person og studenter: Opprett 3 personer. 1 av dem skal v?re en student. Velg selv hvilke metoder du vil benytte, men pr?v ut litt forskjellig. Skriv deretter ned hva som skrives ut hvis du kaller p? “skrivPerson()” p? Person-objektene dine. Diskusjon 1 - hva skrives ut her: Person a = new Student(); Diskusjon 2 - hva skrives ut her: Person a = new Student(); Diskusjon 3 - hva skjer her: Person a = new Person(); |