Voortgang Week 1
Oefenen Week 1

Oefenopdrachten

Oefen met de concepten die je deze week hebt geleerd. Deze opdrachten zijn gebaseerd op de lesstof uit de PowerPoints.

Tip

Oefentoetsen ga je in dit vak zelf thuis of in de bibliotheek maken! Uitlegvideo's staan online op Brightspace!

1

OOP Begrippen Benoemen

Makkelijk

Bekijk de volgende code en benoem alle OOP onderdelen:

Python
class Auto:
    def __init__(self, merk, kleur):
        self.merk = merk
        self.kleur = kleur
        self.snelheid = 0
    
    def versnel(self):
        self.snelheid += 10

mijn_auto = Auto("Tesla", "rood")

Vragen:

  1. Wat is de klasse?
  2. Wat is de constructor?
  3. Noem alle attributen
  4. Noem de methode(s)
  5. Wat is het object?
Bekijk antwoorden
  1. Klasse: Auto
  2. Constructor: def __init__(self, merk, kleur)
  3. Attributen: merk, kleur, snelheid
  4. Methode: versnel()
  5. Object: mijn_auto
2

Waarom OOP?

Makkelijk

Beantwoord de volgende vragen over OOP:

  1. Noem drie redenen waarom OOP wordt gebruikt.
  2. Leg uit wat bedoeld wordt met "OOP representeert entiteiten in de echte wereld".
  3. Wat is het verschil tussen een klasse en een object?
Bekijk antwoorden
  1. Drie redenen: Herbruikbaar (vermindert repetitieve code), Structuur, Representeert entiteiten in de echte wereld
  2. Entiteiten: OOP stelt je in staat om dingen uit de echte wereld te modelleren in code. Bijvoorbeeld: een Hond-klasse kan echte honden representeren met hun eigenschappen (naam, gewicht) en gedrag (rennen, blaffen).
  3. Verschil: Een klasse is de blauwdruk/bouwtekening, een object is een specifieke instantie van die klasse. Bijvoorbeeld: Hond is de klasse, Bella en Kees zijn objecten.
3

Constructor Aanpassen

Gemiddeld

Pas de Hond-class aan zodat deze ook een leeftijd attribuut heeft. De leeftijd moet worden meegegeven bij het aanmaken van een object.

Python - Origineel
class Hond:
    def __init__(self, naam, hoogte, gewicht):
        self.naam = naam
        self.hoogte = hoogte
        self.gewicht = gewicht
        self.energie_level = 100
Bekijk antwoord
class Hond:
    def __init__(self, naam, hoogte, gewicht, leeftijd):
        self.naam = naam
        self.hoogte = hoogte
        self.gewicht = gewicht
        self.leeftijd = leeftijd
        self.energie_level = 100

# Voorbeeld gebruik:
hond_bella = Hond("Bella", 70, 28, 5)
4

Methode Toevoegen

Gemiddeld

Voeg een methode blaf() toe aan de Hond-class. De methode moet de tekst "Woef! Ik ben [naam]!" returnen.

Bekijk antwoord
def blaf(self):
    return f"Woef! Ik ben {self.naam}!"

# Gebruik:
hond_bella = Hond("Bella", 70, 28)
print(hond_bella.blaf())  # Output: Woef! Ik ben Bella!
5

Eigen Klasse Maken

Moeilijk

Maak een eigen klasse Student met de volgende onderdelen:

  • Attributen: naam, studentnummer, studie
  • Een methode introduceer() die een string returnt met de introductie van de student

Maak vervolgens twee Student-objecten aan.

Bekijk antwoord
class Student:
    def __init__(self, naam, studentnummer, studie):
        self.naam = naam
        self.studentnummer = studentnummer
        self.studie = studie
    
    def introduceer(self):
        return f"Hallo, ik ben {self.naam}. Ik studeer {self.studie}."

# Objecten aanmaken
student1 = Student("Jan", "12345", "ADSAI")
student2 = Student("Lisa", "67890", "ADSAI")

print(student1.introduceer())
# Output: Hallo, ik ben Jan. Ik studeer ADSAI.
6

Self Begrijpen

Gemiddeld

Leg in je eigen woorden uit wat self doet in een Python class. Waarom is het nodig?

Bekijk antwoord

self verwijst naar het huidige object. Het is nodig omdat:

  • Een klasse kan meerdere objecten hebben (bijv. hond_bella en hond_kees)
  • self zorgt ervoor dat de juiste attributen van het specifieke object worden gebruikt
  • Als hond_bella.ren() wordt aangeroepen, weet Python door self dat het om Bella's energie_level gaat, niet die van Kees

Quiz & Open vragen (Makkelijk / Normaal / Moeilijk)

Q1

Quiz (Makkelijk)

Makkelijk

Wat is het verschil tussen een class en een object? Antwoord: Een class is een blauwdruk; een object is een concrete instantie van die class.

Q2

Open vraag (Normaal)

Normaal
class Student:
    def __init__(self, naam, leeftijd):
        self.naam = naam
        self.leeftijd = leeftijd
Q3

Open vraag (Moeilijk)

Moeilijk
def verjaardag(self):
    self.leeftijd += 1
    return self.leeftijd