4040 Arv - Sak
Gör en ny konsoll-applikation.
Tänk dig en samling med musik på CD och filmer på DVD.
För en CD finns informationen titel och artist.
För en DVD finns informationen titel och regisör.
Klasserna CD, DVD och Sak
Båda har således titel gemensamt. Utnyttja arv för att skriva klasserna CD och DVD. Låt dessa klasser ärva från en klass Sak som innehåller det som är gemensamt för de båda klasserna.
Klassen Databas
Skapa en klass Databas. I den ska det finnas en objektvariabel som kan lagra en mängd CD:s och DVD:s.
Klassen ska ha en metod Add
som lägger till en CD eller DVD i objektvariabeln.
Metoden Add
ska ta en parameter som kan vara en CD eller DVD.
I klassen Databas ska det finnas en metod som skriver ut databasen. Döp metoden till SkrivUt
.
Klassen Program
Nedan följer en beskrivning av hur du skriver kod för att testa dina klasser.
Metoden Main
Översätt nedanstående test till kod.
lokal variabel databas Skapa ett objekt av klassen Databas och lägg i databas Lägg till några CD:s och DVD:s i databasen. Skriv ut databasen.
Utskriften kan bli som nedan.
CD, Namn: Violator Artist: Depeche Mode
CD, Namn: Some great reward Artist: Depeche Mode
DVD, Namn: Lord of the Rings: The Fellowship of the Ring Regissör: Peter Jackson
DVD, Namn: Lord of the Rings: The Two Towers Regissör: Peter Jackson
DVD, Namn: Lord of the Rings: The Return of the King Regissör: Peter Jackson
Visa för din lärare.
Övningen fortsätter
Lägg till en klass Bok. För boken finns information om titel och författare. Skriv om de klasser som behöver skrivas om samt ändra på testet i metoden Main
så att några böcker också läggs till i databasen.
Testa att det fungerar.
Rita ett klassdiagram
Använd till exempel Agro UML.
Visa diagrammet för din lärare.
Reflektion
På hur många ställen behövde du ändra i koden? Vad skulle behöva ändras i koden om inte arv används? Diskutera med en kompis. Berätta för din lärare.