Багаторівневе успадкування
Ви вже спробували як одиничне, так і множинне успадкування. У цій вправі ви реалізуєте багаторівневе успадкування, створивши нову версію класу Smartphone.
Щоб допомогти вам розпочати, нижче наведено визначення класів Computer і Tablet. Важливо, що Tablet успадковує від класу Computer. Успіхів!
class Computer:
def __init__(self, brand):
self.brand = brand
def browse_internet(self):
print(f"Using {self.brand}'s default internet browser.")
class Tablet(Computer):
def __init__(self, brand, apps):
Computer.__init__(self, brand)
self.apps = apps
def uninstall_app(self, app):
if app in self.apps:
self.apps.remove(app)
Ця вправа є частиною курсу
Середній рівень об'єктно-орієнтованого програмування в Python
Інструкції до вправи
- Визначте клас
Smartphone, який успадковує відTablet, викличте конструктор батьківського класу і визначте атрибут рівня екземпляраphone_number. - Створіть метод
send_text, який надсилає текстовеmessageодержувачуrecipientз номераphone_numberоб'єктаSmartphone. - Створіть об'єкт
Smartphoneз назвоюpersonal_phoneі викличте його метод.browse_internet(); видаліть застосунокWeatherта надішліть повідомленняTime for a new mission!Чакові у вигляді тексту.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create a Smartphone class that inherits from Tablet
class ____(____):
def __init__(self, brand, apps, phone_number):
____.____(self, ____, ____)
self.phone_number = ____
# Create send_text to send a message to a recipient
def ____(self, message, recipient):
print(f"Sending {____} to {____} from {____.____}")
# Create an instance of Smartphone, call methods in each class
____ = Smartphone("Macrosung", ["Weather", "Camera"], "801-932-7629")
personal_phone.____()
personal_phone.____("____")
personal_phone.____("____", "Chuck")