Przeciążanie operatora +
Operatory porównania to nie jedyne operatory, które można przeciążyć. Klasy w Pythonie mogą definiować własne zachowanie dla operatorów arytmetycznych, takich jak + czy -. W tym ćwiczeniu przećwiczysz przeciążanie operatora + dla klasy Storage.
To ćwiczenie jest częścią kursu
Programowanie obiektowe w Pythonie – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Zdefiniuj metodę magiczną, która przeciąży operator
+dla klasyStorage. - Utwórz nowy obiekt
Storageo nazwietotal_storage, którego atrybutcapacitybędzie równy sumiecapacityobu obiektów. - Dodaj obiekty
onboard_storageiexternal_drive, aby uzyskać obiekttotal_storage, a następnie wyświetl wartość jego atrybutucapacity.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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.____)