Beispielübung zum Thema Vererbung
class Student:
def __init__(self, firstname, surname):
self.firstname = firstname
self.surname = surname
def getName(self):
return self.firstname + " " + self.surname
class WorkingStudent(Student):
# bei def __init__ wird self immer übergeben + delegierte Parameter
def __init__(self, firstname, surname, company):
# bei Vererbung wird kein self übergeben
super().__init__(firstname, surname)
self.company = company
# Methoden können überschrieben werden
def getName(self):
# return print("WorkingStudent: " + self.firstname + " " + self.surname + " -> " + self.company)
return super().getName() + " " + self.company + " "
max = Student("Steve", "Mustermann")
dom = WorkingStudent("Steve", "Mustermann", "ABCDEF AG")
students = [
WorkingStudent("Steve", "Mustermann", "Google Inc."),
Student("Shawn", "Müller"),
Student("Dave", "Vogel"),
WorkingStudent("Martin", "Schmidt", "Alphabet AG")
]
for student in students:
print(student.getName())
print(max.getName())
print(dom.getName())