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
Oefeninstructies
- Definieer een magische methode om de
+-operator voor de klasseStoragete overloaden. - Maak een nieuw
Storage-object met de naamtotal_storagemet eencapacitydie gelijk is aan de gecombineerdecapacityvan beide objecten. - Tel de objecten
onboard_storageenexternal_driveop om eentotal_storage-object te maken en print decapacityvantotal_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.____)