LoslegenKostenlos loslegen

Mehrstufige Vererbung

Du hast bereits praktische Erfahrung mit einfacher und mehrfacher Vererbung gesammelt. In dieser Übung implementierst du mehrstufige Vererbung, indem du eine neue Version der Klasse Smartphone erstellst.

Damit du direkt loslegen kannst, wurden die Klassen Computer und Tablet unten definiert und bereitgestellt. Wichtig: Tablet erbt von der Klasse Computer. Viel Erfolg!

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)

Diese Übung ist Teil des Kurses

Fortgeschrittene objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere eine Klasse Smartphone, die von Tablet erbt, rufe den Eltern-Konstruktor auf und definiere das Attribut auf Instanzebene phone_number.
  • Erstelle eine Methode send_text, die eine Text-message an einen recipient vom phone_number des Smartphone sendet.
  • Instanziiere ein Smartphone-Objekt namens personal_phone und rufe dessen Methode .browse_internet() auf; deinstalliere die App Weather und sende die Nachricht Time for a new mission! per Text an Chuck.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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")
Code bearbeiten und ausführen