2020-12-06
阿新 • • 發佈:2020-12-07
python單例以及重寫方法__new__()
單例設計模式
設計模式是前人工作的總結和提煉。
使用設計模式是為了可重用程式碼,讓程式碼更容易的被他人列、保證程式碼可靠性
單例設計模式
目的:讓類建立的物件,在系統中只有唯一的一個案例
每一次執行 類名()的物件,記憶體地址是相同的
02.__new__方法
使用類名()建立物件 首先呼叫__new__方法為物件分配空間
__new__是由一個有obje基類提供的內建靜態方法,主要作用有:
#1.在記憶體中為物件分配空間
02.返回物件的引用
重寫__new__方法的程式碼非常固定
重寫 __new__一定要return super().new(cls)
class MusciPlayer(object):
# 重寫方法
def __new__(cls, *args, **kwargs):
# 01.建立物件時,new方法會自動呼叫
print("建立物件,分配空間")
# 02.為物件分配空間
instance = super().__new__(cls)
# 03.返回物件的引用
return instance
def __init__(self):
print("播放器初始化" )
# 建立播放器物件
player = MusciPlayer()
print(player)