Я застрял в этом вопросе о наследовании классов, и я не смог найти правильный путь вперед. У меня есть базовый класс:
class Foo:
""" Parent class. """
def __init__(self,a,b):
self.a = a
self.b = b
def product(self):
return self.a * self.b
Этот класс содержит информацию, которую я загрузил из некоторого файла данных. Я хочу генерировать различные виды информации, связанной с этими данными, используя свойства класса для хранения этой информации. Например, если бы я хотел создать отчет, который сообщал бы мне отношения a и b, я хотел бы создать что-то вроде:
class Bar(Foo):
""" Child class. """
def __init__(self,foo_object):
# What I want to avoid:
self.a = foo_object.a
self.b = foo_object.b
def quotient(self):
return self.a / self.b
Очевидно, что в моем реальном приложении есть еще много свойств класса. Назначение всех свойств объекта Foo в новый объект Bar становится очень утомительным.
Есть ли более элегантный способ "расширить" объект Foo в объект Bar после того, как объект Foo уже создан?
EDIT:
Извините, если я недостаточно четко изложил свою цель; Я вижу, что есть некоторая путаница в том, что я прошу. Я уже создал объект Foo с рядом свойств. Я хочу создать дочерний класс Foo с именем Bar, позже, , который содержит эти свойства, но также некоторые дополнительные свойства, специфичные для одной "области" моего приложения.
Итак, я хочу иметь возможность передавать уже созданный экземпляр объекта Foo и передавать значения его свойств в идентичные свойства в Bar, не делая это вручную по элементам.
Я верю, что ответ Флоба - это то, что я ищу. Спасибо!