Если у меня есть унаследованный класс, подобный этому:
phonebook = {"John": 123, "Rose": 234, "Miles": 345}
class Base(AbstractBase):
def __init__(self):
self.phonebook = phonebook
def doSomething(self):
aFunctionThatDoesSomething(phonebook)
Как я могу унаследовать этот класс и вызвать функцию, если у меня есть другая телефонная книга, которую я хочу использовать? Я знаю, что могу добавить его в качестве параметра, но есть ли способ сделать это, не добавляя его в init ?
В идеале я хочу написать переопределение функции, которое использует новое значение, которое инициализируется. Вот как то так:
class Derived(Base):
def aFunctionThatDoesSomething(self):
# I want to add some names to the phonebook in the base class here
self.phonebook = addContacts(self.phonebook)
super().aFunctionThatDoesSomething()