Flernivåarv
Du har nu arbetat med både enkelt och multipelt arv. I den här övningen implementerar du flernivåarv genom att bygga en ny version av klassen Smartphone.
Som hjälp på vägen finns klasserna Computer och Tablet definierade nedan. Notera att Tablet ärver från klassen Computer. Lycka till!
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)
Den här övningen är en del av kursen
Objektorienterad programmering i Python – fortsättningskurs
Övningsinstruktioner
- Definiera en klass
Smartphonesom ärver frånTablet, anropa förälderns konstruktor och definiera instansattributetphone_number. - Skapa en metod
send_textsom skickar ett textmeddelandemessagetill en mottagarerecipientfrånSmartphone-objektetsphone_number. - Skapa ett
Smartphone-objekt med namnetpersonal_phone, anropa dess metod.browse_internet(), avinstallera appenWeatheroch skicka meddelandetTime for a new mission!till Chuck via textmeddelande.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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")