Предположим, у меня есть два класса, родительский и дочерний, как показано ниже:
class Child:
def __init__(self, name):
self.name = name
def change_name(self, name):
self.name = name
class Parent:
def __init__(self, child):
self.child = child
self.childs = [child]
def new_child (self, child):
self.childs.append[child]
self.child = child
Теперь, если я создаю дочерний объект и родительский объект, я хочу вызвать дочерние свойства из родительского объекта, как показано в примерениже
child = Child('Nelson')
parent = Parent(child)
# I want to access child name from the parent object
print(parent.name) # should return parant.child.name <'Nelson'>
new_child = Child('Thomas')
parent.new_child(new_child)
print(parent.name) # should return the new name <'Thomas'>
# some code that will change the name of the child object
print(parent.name) # should return the new name
в настоящее время я добавил декоратор свойства в класс Parent, который возвращает дочернее свойство
class Parent:
def __init__(self, child):
self.child = child
self.childs = [child]
def new_child (self, child):
self.childs.append[child]
self.child = child
@property
def name(self):
return self.child.name
Однако мой дочерний объект имеет более одного свойства, и я ищуболее эффективный способ наследования дочерних свойств в родительский объект