Programmeren 1
Home

Programmeren 1

Klassendiagramma
Constructie, al dan niet van objecten

Programmeren 1

Access modifiers, objectconstructie en static

Doelstelling

We bespreken de rol van public en private. We bekijken hoe objecten snel en efficiënt aangemaakt kunnen worden met een constructor. We oefenen het sleutelwoord static.

Leerpad

Lees aandachtig volgende delen van het Yellow Book.

  1. 4.6 (volledig)
  2. 4.7 (volledig)

Tijdens de les maken we volgende oefeningen:

  1. Schrijf een methode Initialize(Hive hive) voor de klasse Bee, die een bij laat starten met een willekeurige hoeveelheid pollen van 0 tot 10 en die de bij koppelt aan de meegegeven Hive. Als er geen Hive wordt meegegeven, moet deze methode een Exception gooien.

  2. Schrijf een objectmethode HasPollen() met return type bool die gebruikt kan worden om na te gaan of een bij pollen met zich meedraagt.
  3. Schrijf een uitgebreide versie van DemonstrateBeesAndHives, DemonstrateBeesAndHives2, die de bijen initialiseert met Initialize. Voor elke bij die gestart is met pollen wordt "Gestart met pollen" afgedrukt voor het pollen wordt afgeleverd in de korf met DeliverPollen. Voor elke bij die gestart is zonder pollen, wordt "Gestart zonder pollen" afgedrukt, gaat de bij op zoek naar pollen via CollectPollen() en levert ze het daarna af.
  4. Schrijf een constructor voor de klasse Car die een auto altijd laat starten met snelheid 0.
  5. Schrijf een bijkomende constructor voor de klasse Car die een auto laat starten met een snelheid tussen 0 en 120, maar een Exception gooit als de snelheid buiten deze grenzen ligt.
  6. Voeg een veld color van type string toe aan Car. Schrijf een methode GetColor om de kleur op te vragen en een methode SetColor(string color) om dit veld in te vullen. Een kleur mag niet op null gezet worden.
  7. Schrijf een constructor die alle velden van Car invult met bovenstaande beperkingen.
  8. Pas eerdere constructors aan om gebruik te maken van de "master constructor" uit de vorige oefening.
  9. Voeg een (publiek) statisch veld toe aan Account, met type int en naam InterestRateCharged en een waarde van 300, wat staat voor 3%. Schrijf dan een instantiemethode ApplyInterest() die het bedrag op de rekening wijzigt naar het bedrag na toepassing van interest. Zet de initiële waarde van het bedrag op 10000 en schrijf een methode DemonstrateInterest die twee Accounts maakt, demonstreert wat het bedrag voor en na de oproep van ApplyInterest is, dan InterestRateCharged verdrievoudigt, twee nieuwe Accounts maakt en ook daar DemonstrateInterest op toepast. Laat ten slotte het bedrag op elke rekening printen naar de console.

  10. Voeg een statische methode AccountAllowed(int income, int age) toe aan Account, die nagaat of iemand wel een rekening mag hebben. Hiervoor moet het inkomen minstens 10000 bedragen en moet de leeftijd minstens 18 bedragen.

  11. Zorg ervoor dat elke Account vanzelf een uniek rekeningnummer krijgt. De eerste Account mag rekeningnummer 1 krijgen, de tweede rekeningnummer 2,... Pas hiervoor toe wat je weet over constructors en over statische velden.

VN
2018-12-20