Supraîncărcarea operatorului +
Operatorii de comparație nu sunt singurii care pot fi supraîncărcați. Clasele din Python pot implementa funcționalități personalizate și pentru operatori aritmetici, cum ar fi + și -. În acest exercițiu, vei exersa supraîncărcarea operatorului + pentru o clasă Storage.
Acest exercițiu face parte din cursul
Programare orientată pe obiecte intermediară în Python
Instrucțiuni pentru exercițiu
- Definește o metodă magică pentru a supraîncărca operatorul
+în clasaStorage. - Creează un nou obiect
Storagenumittotal_storage, cu ocapacityegală cu suma valorilorcapacityale ambelor obiecte. - Adună obiectele
onboard_storageșiexternal_drivepentru a crea obiectultotal_storage, apoi afișează valoareacapacitya acestuia.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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.____)