Oppgaver uke 5

 

  1. Interface og Arv | Programmering
    1. Lag et interface kalt «Drikkbar». Det skal ha to metoder: drikkGlass(); og fyllOpp();
    2. Lag deretter en klasse «Drikke» som implementerer grensesnittet drikkbar. Klassen skal representere en flaske med drikke, og må holde på hvor mange desiliter (dl) det er plass til i flasken. I tillegg skal den vite hvor mange desiliter det er igjen i flasken akkurat nå. Maksstørrelsen på flasken settes i konstruktøren og vi kan anta at flasken er full når den opprettes.

      Dersom metoden «drikkGlass» kalles skal flaskens innholde reduseres med 2 dl, og om det er mindre enn 2 dl igjen skal flasken tømmes (til 0). Metoden «fyllOpp» skal fylle flasken helt full.
    3. Utvid programmet ditt med subklassen øl (Ol). Den skal være lik drikke, men i stede for at flasken reduseres med 2 dl, skal den reduseres med en halv liter når et glass drikkes.
      Lag også en toString()-metode for både drikke og øl. 
      Hint: husk @Override der du mener det er riktig. 
    4. Tegn klassehierarkiet for oppgaven. 
    5. Skriv en liten test til programmet. 

       
  2. Interface og Arv | Tegning og diskusjon
    1. Gitt følgende klasse- og grensesnitt-definisjoner, tegn klassehierarkiet:

      interface Z {}

      interface Y extends Z {}

      class B implements Z {}

      class A extends B implements Y {}

      class C extends A {}

       

    2. Diskusjon: Hvilket, om noe, grensesnitt implementeres i C? 

 

  1. Interface og Arv | Klassehierarki

Gitt følgende klassehierarki, skriv opp klasse- og grensesnitt-definisjonene (som 2A).

  1. Interface | Programmering og Diskusjon
    1. Vi skal lage en enkel modell av en næringskjede. På toppen av næringskjeden finnes rovdyrene og på bunnen finnes planteeterne. Skriv to grensesnitt, et for rovdyr og et for planteetere. Rovdyrene skal kunne jakte, mens planteeterne skal kunne beskytte seg selv.
    2. Skriv klassene Bjorn, Ulv, Elg og Sau som implementerer de riktige grensesnittene over. Metodene som må implementeres trenger kun å printe ut en beskjed om hva dyret gjør. Opprett objekter av klassene og legg alle rovdyrene i en array av rovdyr, mens du legger alle planteeterne i en array av planteetere. Test programmet ditt.
      Diskusjon: hva gjør man med Bjørn, er den et rovdyr eller en planteeter, eller kan vi gjøre den til begge deler..?
    3. Tegn opp klassehierarkiet med alle klasser og grensesnitt.
Publisert 23. feb. 2023 09:29 - Sist endret 23. feb. 2023 11:03