Meerlagige overerving
Je hebt inmiddels geoefend met zowel enkelvoudige als meervoudige overerving. In deze oefening implementeer je meerlagige overerving door een nieuwe versie van de klasse Smartphone te bouwen.
Om je op weg te helpen, zijn de klassen Computer en Tablet hieronder gedefinieerd. Let erop dat Tablet erft van de klasse Computer. 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)
Deze oefening maakt deel uit van de cursus
Gevorderde objectgeoriënteerde programmering in Python
Oefeninstructies
- Definieer een klasse
Smartphonedie erft vanTablet, roep de ouderconstructor aan en definieer het attribuut op instanceniveauphone_number. - Maak een methode
send_textdie een tekstmessagedeelt met eenrecipientvanaf hetphone_numbervan deSmartphone. - Maak een
Smartphone-object met de naampersonal_phoneen roep de methode.browse_internet()aan; verwijder de appWeather, en stuur het berichtTime for a new mission!via sms naar Chuck.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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")