Přetížení operátoru +
Přetěžovat lze nejen operátory porovnání. Třídy v Pythonu mohou definovat vlastní chování i pro aritmetické operátory, jako jsou + a -. V tomto příkladu si procvičíš přetížení operátoru + pro třídu Storage.
Toto cvičení je součástí kurzu
Intermediate Object-Oriented Programming in Python
Pokyny k cvičení
- Definuj magickou metodu pro přetížení operátoru
+ve tříděStorage. - Vytvoř nový objekt
Storages názvemtotal_storage, jehožcapacityse bude rovnat součtucapacityobou objektů. - Sečti objekty
onboard_storageaexternal_drive, výsledek ulož dototal_storagea vypiš hodnotucapacityobjektutotal_storage.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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.____)