ich habe eine Frage zur Funktionsweise der Vererbung. Insbesondere geht es um die in der Elternklasse deklarierten Eigenschaften und Methoden, die ich am nachfolgenden Beispiel gerne verstehen würde:
Code: Alles auswählen
class FileReader():
def __init__(self, path):
self.path = path
self.__file_as_list = []
self.line = None
def lines(self):
self.__file_as_list.clear()
with open(self.path, "r") as file:
for i in file:
self.line = i.strip()
self.__file_as_list.append(self.line)
return self.__file_as_list
class CsvReader(FileReader):
def __init__(self, path):
self.path = path
self.__file_as_list = []
self.line = None
# super().__init__(path)
def lines(self):
self.__file_as_list.clear()
with open(self.path, "r") as file:
for i in file:
self.line = i.strip().split(",")
self.__file_as_list.append(self.line)
return self.__file_as_list
Kann mir hier jemand auf die Sprünge helfen? Warum muss ich die __init__ Methode erneut in der Kindklasse erstellen. Sollte die Vererbungnicht gerade diese Redundanten Codestücke vermeiden?