Sprint 6 Β· De blauwdruk  Β·  US2: De constructor & self

Als developer, wil ik dat elk nieuw object verplicht met de juiste startgegevens wordt aangemaakt en zelf weet welk object het is, zodat ik nooit een halfleeg object rondstuur en elke methode met de juiste eigen data werkt.

Taak 3: Meerdere parameters en default-waarden

Een constructor mag meer dan één ding verplichten, en sommige dingen mogen optioneel zijn. Met een default-waarde geef je een parameter een standaard, zodat de aanroeper hem mag weglaten.

Verplicht, of met een standaard

Je kent default-waarden al van gewone functies uit sprint 5. In een constructor werken ze precies zo. Parameters zonder standaard zijn verplicht; parameters met een = zijn optioneel:

class Dog:
    def __init__(self, name, energy=100, breed="unknown"):
        self.name = name
        self.energy = energy
        self.breed = breed

Nu kun je een hond kort of uitgebreid aanmaken:

rex = Dog("Rex")                       # energy=100, breed="unknown"
bella = Dog("Bella", 80)               # energy=80, breed="unknown"
max = Dog("Max", 90, "labrador")       # alles zelf ingevuld
Verplicht vΓ³Γ³r optioneel.
Parameters met een default moeten nΓ‘ de verplichte staan. def __init__(self, energy=100, name) is een SyntaxError. Eerst wat verplicht is, dan wat optioneel is.

Zie de defaults invullen

Vul de velden in die je wilt meegeven en laat de rest leeg. Klik op Aanmaken: weggelaten velden worden oranje ingevuld met de standaardwaarde.

verplicht
default 100
default "unknown"
>>> Oefenomgeving: Python REPL Simulator

De class Dog heeft __init__(self, name, energy=100, breed="unknown"). Maak honden met en zonder de optionele parameters.

  1. rex = Dog("Rex") β€” alleen naam.
  2. rex.energy en rex.breed β€” wat zijn de defaults?
  3. max = Dog("Max", 90, "labrador")
  4. max.breed
  5. bella = Dog("Bella", breed="beagle") en dan bella.energy
Python 3.11 REPL Simulator Β· class Dog met defaults is gedefinieerd.
>>> 
🧩

Jouw opdracht: Player met opties

Breid de constructor van Player uit met optionele parameters.

  1. Maak name verplicht.
  2. Geef lives en score een passende default-waarde.
  3. Maak drie spelers: één met alleen een naam, één waarbij je de levens meegeeft, en één waarbij je alles invult.
  4. Print van elke speler alle drie de attributen en controleer dat de defaults klopten.

Acceptatiecriteria

  • De constructor heeft één verplichte parameter en minstens twee optionele met een default.
  • De optionele parameters staan nΓ‘ de verplichte parameter.
  • Je maakt spelers op minstens twee manieren aan (met en zonder de optionele waarden).
  • De uitvoer bewijst dat weggelaten parameters de default-waarde kregen.