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. (Ur bonussynpunkt räknas denna uppgift som en uppgift)

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 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. (Ur bonussynpunkt räknas deuppgifterna a, b tillsammans som en uppgift. Om du har löst minst två av deluppgifterna  c - e räknas detta som en uppgift. Det är dock smart att lösa alla J)

 

  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.  Använd detta för att få kontona löpnumrerade från 1 och uppåt, samt att räntesatsen kan ändras för alla konton samtidigt.)
  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.