代码拉取完成,页面将自动刷新
# class Animal:
# def __init__(self):
# self.color='红色'
# pass
# #如果在python当中 如果不重写new方法 默认结构如下
# def __new__(cls, *args, **kwargs):
# return super().__new__(cls,*args,**kwargs) #super()等于object
# pass
#
# tigger=Animal() #实例化的过程会自动调用__new__ 去创建实例
# 在新式类中 new才是真正的实例化方法 为类提供外壳制造出实力框架,然后调用该框架内的构造方法init进行丰满操作
# 比喻建房子 new负责开发地皮 打地基 并将原料存放在工地 而init负责从工地取材料 建造出地皮开发图纸规定的大楼 细节
# print(tigger.color)
# 单例模式 常用的软件设计模式
# 单例模式 确保一个类里只有一个实例存在 希望在整个系统中某个类只能出现一个实例 那么这个单利对象就能满足要求
# 创建一个单例对象 基于__new__实现
class DataBaseClass(object):
def __new__(cls, *args, **kwargs):
if not hasattr(cls,'_instance'):
cls._instance=super().__new__(cls, *args, **kwargs)
return cls._instance
db1=DataBaseClass()
print(id(db1))
db2=DataBaseClass()
print(id(db2))
db3=DataBaseClass()
print(id(db3))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。