Lektionsuppgift 2

Du behöver inte provköra uppgifterna till lektionen. Du kan få bonus för att du har förberett lösningsförslag, oavsett om dessa är riktiga eller inte.

1. Skriv en klass Person. En person har ett namn (en sträng), en adress (en sträng), en ålder (ett heltal). En person kan skapas (och får då i en konstruktor ett namn, en adress och en ålder), fylla år och byta adress. Dessutom bör det finnas metoder som returnerar namn, adress, respektive ålder. (Varför?) Skriv också ett huvudprogram som visar att din klass är fungerar.

2. Ett bankkonto har en innehavare, ett nummer, en räntesats och ett saldo. Utöver att konton kan skapas, kan man sätta in pengar, ta ut pengar och få reda på aktuellt saldo. (När saldot skrivs ut, ska även kontonumret anges) Du kan anta starka förenklingar, såsom att innehavaren bara anges av sitt namn (som en sträng), att kontona är löpnumrerade från 1 och uppåt, att det är omöjligt att få kontoutdrag över genomförda transaktioner, att kontot kan övertrasseras utan problem (!) etc. Räntesatsen är densamma för alla bankkonton. Räntesatsen kan ändras.

  1. Skriv klassen, så enkelt som möjligt.
  2. Föreslå ett huvudprogram som visar att din klass fungerar.
  3. Skilj mellan privata och publika (private resp public) variabler/metoder samt särskilj instansvariabler/metoder från klassvariabler/metoder (med static) på ett relevant sätt. Slå upp static i kursboken. Bra övning, inte bonusgrundande.
  4. Gör en ändring så att saldot skrivs ut vid varje insättning.
  5. Egentligen borde väl innehavaren representeras av ett objekt ur klassen Person? Gör de ändringar som behövs i klassen som representerar bankkonton. Föreslå ett huvudprogram som visar att din klass fungerar.