CommencerCommencer gratuitement

Héritage à plusieurs niveaux

Vous avez déjà pratiqué l’héritage simple et multiple. Dans cet exercice, vous allez mettre en œuvre un héritage à plusieurs niveaux en créant une nouvelle version de la classe Smartphone.

Pour vous aider à démarrer, les classes Computer et Tablet sont définies ci-dessous. Il est important de noter que Tablet hérite de la classe Computer. Bonne chance !

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)

Cet exercice fait partie du cours

Programmation orientée objet intermédiaire en Python

Afficher le cours

Instructions

  • Définissez une classe Smartphone qui hérite de Tablet, appelez le constructeur du parent et définissez l’attribut d’instance phone_number.
  • Créez une méthode send_text qui envoie un message à un recipient depuis le phone_number du Smartphone.
  • Instanciez un objet Smartphone appelé personal_phone, appelez sa méthode .browse_internet() ; désinstallez l’app Weather et envoyez le message Time for a new mission! à Chuck par SMS.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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")
Modifier et exécuter le code