Мы обнаружили, что у нас есть набор атрибутов (которые не будут меняться и извлекаться из среды во время выполнения), которые существуют в большинстве наших классов.Я попытался найти это, но, к сожалению, «объект» - очень распространенное слово.
Какие проблемы возникнут у меня, если я сделаю следующее:
class MasterObjectv2(object):
UNIQUE_KEY = getUniqueKey()
#other properties for all objects in our system
или это лучше:
class MasterObject(object):
def __init__(self):
object.__init__(self)
#other properties for all objects in our system
self.getUniqueKey()
или опция 3
# is that its a really dumb idea to do this.
Я думал о том, чтобы сделать первое, потому что мне не нужно беспокоиться о том, чтобы кто-то не звонил init в MasterObject.
Очевидно, наш класс изменится с
class Test(object):
def __init__(self):
self.UNIQUE_KEY = getUniqueKey()
на
class Test(MasterObject):
def __init__(self): pass
Редактировать
Эти ответы неответь на мой вопрос.Я не спрашиваю, что мне следует делать, я спрашиваю о том, о каких побочных эффектах / вещах следует подумать, если мы собираемся пойти по этому пути.
Я рассматриваю возможность использования среды. * Тип класса, ноСначала я хочу узнать, какими могут быть побочные эффекты * , если , я пойду другим путем.
Я не хочу, чтобы это превратилось в дебаты о композиции и наследовании ...;)