У меня есть родительский объект, у которого есть c переменные-члены, которые я хочу наследовать. Я хочу, чтобы этот родительский объект отслеживал дочерние объекты, которые создаются в родительском объекте.
class Parent:
def __init__(self, someInfo, someOtherInfo):
self.surname = someInfo
self.otherInfo = someOtherInfo
##This function only executes if some condition is met in another function
def spawnChild(self, childInfo):
childName = "Kyle"
self.children.append(child(childName))
class Child:
def __init__(self, firstName):
self.firstName = firstName
Я хочу, чтобы мой дочерний класс наследовал функции-члены класса, что, я знаю, я мог бы сделать с:
class Child(Parent):
def __init__(self, firstName, someInfo, someOtherInfo):
super().__init__(someInfo, someOtherInfo)
Но я хочу быть более точным c и наследовать состояния объекта. Моим конечным результатом будет родительский объект, дающий firstName дочернему классу, но дочерний объект, наследующий фамилию Parent. Однако я не хочу восстанавливать новый объект каждый раз, когда создаю новый дочерний объект.
Я хочу использовать существующий родительский объект для создания дочерних объектов, которые наследуют определенные c состояния его родителя и functions.
Другой вопрос: при наследовании классов создается ли новый класс в сочетании с производным и базовым классом, или это будет просто производный класс со ссылкой на унаследованный класс? Запрашиваемая в целях оптимизации, потому что я планирую создавать множество производных объектов.