Überladen von +
Vergleichsoperatoren sind nicht die einzigen Operatoren, die überladen werden können. Klassen in Python können benutzerdefinierte Funktionalität für arithmetische Operatoren wie + und - implementieren. In diesem Beispiel übst du das Überladen des Operators + für eine Storage-Klasse.
Diese Übung ist Teil des Kurses
Fortgeschrittene objektorientierte Programmierung in Python
Anleitung zur Übung
- Definiere eine Magic-Methode, um den Operator
+für die KlasseStoragezu überladen. - Erstelle ein neues
Storage-Objekt namenstotal_storagemit einercapacity, die der kombiniertencapacitybeider Objekte entspricht. - Addiere die Objekte
onboard_storageundexternal_drive, um eintotal_storage-Objekt zu erzeugen, und gib diecapacityvontotal_storageaus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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.____)