Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj metodę magiczną, która przeciąży operator + dla klasy Storage.
  • Utwórz nowy obiekt Storage o nazwie total_storage, którego atrybut capacity będzie równy sumie capacity obu obiektów.
  • Dodaj obiekty onboard_storage i external_drive, aby uzyskać obiekt total_storage, a następnie wyświetl wartość jego atrybutu capacity.

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.____)
  
Edytuj i uruchom kod