Kom igångKom igång gratis

Anpassa en underklass

Arv är kraftfullt eftersom det låter oss återanvända och anpassa kod utan att skriva om befintlig kod. Genom att anropa metoder från den överordnade klassen inuti den underordnade klassen återanvänder vi all kod i dessa metoder, vilket gör koden kompakt och lätthanterlig.

I den här övningen fortsätter du att arbeta med klassen Manager, som ärver från klassen Employee. Du lägger till en konstruktor som bygger vidare på Employee-konstruktorn och tar ett ytterligare argument där du kan ange vilket projekt chefen arbetar med.

En förenklad version av klassen Employee, samt början av klassen Manager som du tidigare skapade, finns tillgänglig i script.py.

Den här övningen är en del av kursen

Introduktion till objektorienterad programmering i Python

Visa kurs

Övningsinstruktioner

  • Lägg till en konstruktor i Manager som tar emot name, salary (standardvärde 50000) och project (standardvärde None).
  • Anropa konstruktorn i klassen Employee inuti Manager-konstruktorn och ange de tre argument som definieras i den överordnade klassens konstruktor.
  • Använd self för att tilldela rätt attribut till argumentet project.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

class Employee:
  def __init__(self, name, salary=30000):
    self.name = name
    self.salary = salary

  def give_raise(self, amount):
    self.salary += amount

class Manager(Employee):
  # Add a constructor 
  def __init__(self, name, ____=____, ____=____):
    
    # Call the parent's constructor   
    ____.____(____, ____, salary)
    
    # Assign project attribute
    ____.____ = ____

  def display(self):
    print("Manager ", self.name)
Redigera och kör kod