Moștenire pe mai multe niveluri
Ai exersat deja moștenirea simplă și cea multiplă. În acest exercițiu, vei implementa moștenirea pe mai multe niveluri construind o nouă versiune a clasei Smartphone.
Ca punct de plecare, clasele Computer și Tablet sunt deja definite mai jos. Este important de reținut că Tablet moștenește din clasa Computer. Mult succes!
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)
Acest exercițiu face parte din cursul
Programare orientată pe obiecte intermediară în Python
Instrucțiuni pentru exercițiu
- Definește o clasă
Smartphonecare moștenește dinTablet, apelează constructorul părintelui și definește atributul de instanțăphone_number. - Creează o metodă
send_textcare trimite un mesaj text (message) unui destinatar (recipient) de la numărul de telefon (phone_number) al obiectuluiSmartphone. - Instanțiază un obiect
Smartphonenumitpersonal_phone, apelează metoda sa.browse_internet(), dezinstalează aplicațiaWeatherși trimite mesajulTime for a new mission!lui Chuck, prin SMS.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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")