Перевантаження +
Оператори порівняння — не єдині, які можна перевантажувати. Класи в Python можуть реалізовувати власну логіку для арифметичних операторів, зокрема + і -. У цьому прикладі ви попрактикуєтеся у перевантаженні оператора + для класу Storage.
Ця вправа є частиною курсу
Середній рівень об'єктно-орієнтованого програмування в Python
Інструкції до вправи
- Визначте магічний метод для перевантаження оператора
+у класіStorage. - Створіть новий об'єкт
Storageз назвоюtotal_storageзcapacity, що дорівнює сумарнійcapacityобох об'єктів. - Додайте об'єкти
onboard_storageіexternal_drive, щоб створити об'єктtotal_storage, і виведітьcapacityоб'єктаtotal_storage.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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.____)