Abstracte basisklassen implementeren
Nu je de abstracte basisklasse Company hebt gebouwd, kun je die gebruiken als "blauwdruk" voor verschillende bedrijven. Je gaat dit oefenen door een Technology-klasse te maken.
De Company-klasse uit de vorige oefeningen is voor je gedefinieerd en ziet er zo uit:
class Company(ABC):
@abstractmethod
def create_budget(self):
pass
def hire_employee(self, name):
print(f"Welcome to the team, {name}!")
Deze oefening maakt deel uit van de cursus
Gevorderde objectgeoriënteerde programmering in Python
Oefeninstructies
- Maak een
Technology-klasse die erft van de abstracte basisklasseCompany. - Definieer de methode
create_budget()met twee parameters:yearenexpenses. - Maak een instantie van de
Technology-klasse met de naam "Tina's Tech Advisors". - Roep de methode
create_budget()aan met de meegeleverde argumenten; bekijk zowel de uitvoer van deze methode als die vanhire_employee().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create a class with the name "Technology"
class ____(____):
def __init__(self, name):
self.name = name
# Define a create_budget() method
def ____(self, ____, ____):
for expense, amount in expenses.items():
print(f"{year} budget for {expense} is {amount}")
# Create an instance of the Technology class, call methods
t = ____("____")
t.____(2024, {"Salaries": 10000, "Supplies": 500})
t.____("Christian")