Поправьте меня, если я ошибаюсь, но разве вы не используете ширину и ширину в init , чтобы правильно создать экземпляр объекта?Я имею в виду именно так:
class Config(object):
def __init__(self, width, breadth):
self.width = width
self.breadth = breadth
self.area = width*breadth
взятие конфига в качестве суперкласса (вы также можете использовать его как абстрактный базовый класс, в этом случае мое решение будет неправильным).
И потомпросто правильно пусть Sub1 наследуется от Config следующим образом:
class Sub1(Config):
def __init__(self,width,breadth):
Config.__init__(self,width,breadth)
self.area = width * breadth
для sub2 вы, очевидно, можете сделать то же самое.Если вы хотите узнать обновленную область, вы можете просто использовать сеттеры для атрибутов, которые имеет класс.