Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Definiera en klass Smartphone som ärver från Tablet, anropa förälderns konstruktor och definiera instansattributet phone_number.
  • Skapa en metod send_text som skickar ett textmeddelande message till en mottagare recipient från Smartphone-objektets phone_number.
  • Skapa ett Smartphone-objekt med namnet personal_phone, anropa dess metod .browse_internet(), avinstallera appen Weather och skicka meddelandet Time 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")
Redigera och kör kod