Aan de slagGa gratis aan de slag

Overloaden van +

Vergelijkingsoperatoren zijn niet de enige operatoren die je kunt overloaden. Klassen in Python kunnen eigen functionaliteit implementeren voor rekenkundige operatoren zoals + en -. In dit voorbeeld ga je oefenen met het overloaden van de +-operator voor een Storage-klasse.

Deze oefening maakt deel uit van de cursus

Gevorderde objectgeoriënteerde programmering in Python

Cursus bekijken

Oefeninstructies

  • Definieer een magische methode om de +-operator voor de klasse Storage te overloaden.
  • Maak een nieuw Storage-object met de naam total_storage met een capacity die gelijk is aan de gecombineerde capacity van beide objecten.
  • Tel de objecten onboard_storage en external_drive op om een total_storage-object te maken en print de capacity van total_storage.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

class Storage:
  def __init__(self, capacity):
    self.capacity = capacity
  
  def ____(____, ____):  # Overload the + operator
    # Create a Storage object with the sum of capacity
    return ____(self.____ + other.____)

onboard_storage = Storage(128)
external_drive = Storage(64)

# Add the two Storage objects, show the total capacity
total_storage = ____ + ____
print(total_storage.____)
  
Code bewerken en uitvoeren