Överlagra +
Jämförelseoperatorer är inte de enda operatorerna som kan överlagras. Klasser i Python kan implementera anpassad funktionalitet för aritmetiska operatorer som + och -. I den här övningen får du träna på att överlagra operatorn + för en Storage-klass.
Den här övningen är en del av kursen
Objektorienterad programmering i Python – fortsättningskurs
Övningsinstruktioner
- Definiera en magisk metod för att överlagra operatorn
+i klassenStorage. - Skapa ett nytt
Storage-objekt med namnettotal_storage, med encapacitysom motsvarar den sammanlagdacapacityhos båda objekten. - Addera objekten
onboard_storageochexternal_driveför att skapa etttotal_storage-objekt, och skriv utcapacityförtotal_storage.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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.____)