Ü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
<Kurs>Fortgeschrittene objektorientierte Programmierung in Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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.____)