1. Learn
  2. /
  3. Курси
  4. /
  5. Вступ до обʼєктно-орієнтованого програмування в Python

Connected

вправа

Перевантаження оператора рівності

Під час порівняння двох об'єктів користувацького класу за допомогою == Python типово порівнює лише ділянки пам'яті, на які посилаються об'єкти, а не дані всередині них. Щоб змінити цю поведінку, у класі можна реалізувати спеціальний метод, який приймає два аргументи — об'єкти для порівняння — і повертає True або False. Цей метод буде неявно викликано, коли два об'єкти порівнюються.

Клас BankAccount з попереднього розділу доступний у script.py. Він має два атрибути — balance і number — та метод withdraw(). Два банківські рахунки з однаковим балансом — це не обов'язково той самий рахунок, проте кожен рахунок зазвичай має номер рахунку, і два рахунки з однаковим номером рахунку слід вважати тим самим рахунком.

Інструкції

100 XP
  • Змініть метод __init__() так, щоб він приймав новий аргумент number і ініціалізував новий атрибут number.
  • Визначте метод для порівняння, чи однакові атрибути number у двох об'єктів.