Sprint 6 · De blauwdruk  ·  US1: Het losse-variabelen-probleem

Als developer, wil ik gegevens die bij elkaar horen in één blauwdruk vastleggen in plaats van in steeds meer losse variabelen, zodat ik een derde of vierde ding kan toevoegen zonder dat mijn code dichtslibt met losse namen die ik zelf uit elkaar moet houden.

Taak 2: De class als blauwdruk

Een class is geen ding — het is een blauwdruk voor een ding. Je schrijft hem één keer. Daarna maak je er met Naam() zoveel objecten uit als je wilt, allemaal volgens dezelfde vorm.

class Naam: — de vorm, niet het ding

Een class definieer je met het sleutelwoord class, een naam (met een Hoofdletter, dat is de conventie) en een dubbele punt. Eronder, ingesprongen, staan de eigenschappen die elk exemplaar krijgt:

class Dog:
    energy = 100
    tricks = 0

Dit maakt nog geen hond. Het legt alleen vast wat een hond is. Een echte hond — een object — maak je door de class aan te roepen als een functie, met haakjes:

rex = Dog()      # een object, gemaakt volgens de blauwdruk
print(rex.energy)  # 100

Met een punt vraag je de eigenschappen (attributen) op: rex.energy. Elke keer dat je Dog() aanroept, krijg je een nieuw, apart object terug.

Class met Hoofdletter, object met kleine letter.
Dog is de blauwdruk. rex is een object dat eruit gemaakt is. Die naamconventie (PascalCase voor classes, snake_case voor objecten) helpt je in één oogopslag zien wat wat is.

Zie de blauwdruk werken

Links staat de blauwdruk. Klik op Dog() aanroepen en er rolt telkens een nieuw object uit — allemaal dezelfde vorm, maar elk een eigen exemplaar.

class Dog
energy = 100
tricks = 0
Nog geen objecten. Klik op de knop.
>>> Oefenomgeving: Python REPL Simulator

De class Dog is al voor je gedefinieerd (met energy = 100 en tricks = 0). Maak er objecten uit en vraag hun attributen op.

  1. rex = Dog() — maak een object.
  2. rex.energy — vraag een attribuut op.
  3. bella = Dog() — maak een tweede object.
  4. bella.tricks — ook Bella heeft de startwaarden.
  5. rex — vraag het object zelf op. Wat toont Python?
Python 3.11 REPL Simulator · class Dog is gedefinieerd · typ een commando en druk op Enter.
>>> 
🧩

Jouw opdracht: schrijf je eerste blauwdruk

Bouw een blauwdruk voor een speler in een spel. In de theorie ging het over honden; jij maakt nu iets nieuws.

  1. Schrijf een class Player met de startattributen lives (bijvoorbeeld 3) en score (0).
  2. Maak twee objecten uit die class.
  3. Print van beide spelers de lives en score.
  4. Controleer dat beide spelers dezelfde startwaarden hebben — ze komen immers uit dezelfde blauwdruk.

Acceptatiecriteria

  • Er is een class Player met een Hoofdletter en minstens twee startattributen.
  • Je maakt met Player() twee losse objecten aan.
  • Je vraagt attributen op met de punt-notatie (player.score).
  • Je kunt uitleggen waarom Player de blauwdruk is en jouw twee objecten de dingen.