这是我的问题。我创建了一个相当复杂的只读类,它使用静态的“工厂”方法进行许多数据库调用。该方法的目标是通过查找已创建对象池中的相同实例(相同类型,相同初始化参数)来避免破坏数据库。
如果找到了某些内容,该方法将只返回它。没有问题。但是如果没有找到,我该如何创建对象的实例,并使其与继承方式一起工作?
>>> class A(Object):
>>> @classmethod
>>> def get_cached_obj(self, some_identifier):
>>> # Should do something like `return A(idenfier)`, but in a way that works
>>> class B(A):
>>> pass
>>> A.get_cached_obj('foo') # Should do the same as A('foo')
>>> A().get_cached_obj('foo') # Should do the same as A('foo')
>>> B.get_cached_obj('bar') # Should do the same as B('bar')
>>> B().get_cached_obj('bar') # Should do the same as B('bar')
谢谢。
getInstance(A,'foo')
或者getInstance(b,'bar')
呢? - S.Lott