现在有一个类,我创建10个对象占的内存多还是创建1个对象占的内存多,肯定是前者更占内存。如果这一个类是已经固定的,那么创建很多的类就会非常好用内存,现在能不能让所有的对象都是用一个类?所有的对象都使用一个类叫做单列模式,为了更好的说明其含义,可以通过下面的列子来认识。在Python中创建一个类,然后创建两个对象obj1和obj2,代码如下:
class Foo(object):
def __init__(self):
self.name='鳄鱼君Ba:www.e1yu.com'
def process(self):
return '123'
obj1=Foo()
print(obj1.process())
obj2=Foo()
print(obj2.process())
可以看到我们在init初始化的时候,参数是固定,也就是说obj1中有一个name,obj2也是如此,那么现在我们可以封装为一个,这样避免了内存消耗:
单列模式第一种方式
class Foo(object):
instance=None #静态字段只属于类,只创建一份
def __init__(self):
self.name='鳄鱼君Ba:www.e1yu.com'
@classmethod #类方法
def get_instance(cls):
if Foo.instance:
return Foo.instance
e