IniziaInizia gratis

Ereditarietà multilivello

Hai già messo le mani in pasta con l'ereditarietà singola e multipla. In questo esercizio, implementerai l'ereditarietà multilivello creando una nuova versione della classe Smartphone.

Per aiutarti a iniziare, le classi Computer e Tablet sono state definite e fornite qui sotto. È importante notare che Tablet eredita dalla classe Computer. Buon lavoro!

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)

Questo esercizio fa parte del corso

Programmazione a oggetti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci una classe Smartphone che erediti da Tablet, chiama il costruttore del genitore e definisci l'attributo di istanza phone_number.
  • Crea un metodo send_text che invii un message di testo a un recipient dal phone_number dello Smartphone.
  • Istanzia un oggetto Smartphone chiamato personal_phone e chiama il suo metodo .browse_internet(); disinstalla l'app Weather e invia il messaggio Time for a new mission! a Chuck via SMS.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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")
Modifica ed esegui il codice