Python 寫乙個單例模式

2021-09-12 17:17:52 字數 780 閱讀 8267

class amimal(object):

__a = none

__b = true

def __new__(cls,*args,**kwargs):

if not cls.__a:

cls.__a = object.__new__(cls) # 呼叫基類的__new__方法建立物件,修改類屬性__a

return cls.__a

def __init__(self,name,age,color):

if amimal.__b:

self.name = name

self.age = age

self.color = color

amimal.__b = false # 修改類屬性__b

def __str__(self):

return "名稱:%s,年齡:%s,顏色:%s"%(self.name,self.age,self.color)

# 建立三個物件,分別給不同的屬性

a = amimal("kitty",1,"black")

b = amimal("stiyy",2,"gray")

c = amimal("cathy",3,"white")

print(a) # 名稱:kitty,年齡:1,顏色:black

print(b) # 名稱:kitty,年齡:1,顏色:black

print(c) # 名稱:kitty,年齡:1,顏色:black

寫乙個單例模式示例

要點 1.某個類只能有乙個例項 2.它必須自行建立這個例項 3.它必須自行向整個系統提供這個例項 幾種常見形式 餓漢式 懶漢式 延遲建立物件 懶漢式 1 構造器私有化 2 用乙個靜態變數儲存這個唯一的例項 3 提供乙個靜態方法,獲取這個例項物件 class singletondemo public ...

寫乙個高併發下面的單例模式 單例模式詳解

保證整個系統中乙個類只有乙個物件的例項,實現這種功能的方式就叫單例模式。1 單例模式節省公共資源 比如 大家都要喝水,但是沒必要每人家裡都打一口井是吧,通常的做法是整個村里打乙個井就夠了,大家都從這個井裡面打水喝。對應到我們計算機裡面,像日誌管理 印表機 資料庫連線池 應用配置。2 單例模式方便控制...

如何用C 寫乙個Singleton 單例模式

單例模式是比較常用的設計模式,尤其是在遊戲設計中會經常用到,在面試中也是非常容易被問到和實現。今天我們來看看如何用c 來實現乙個singleton。單例模式的主要特性是只能例項化乙個物件,在遊戲中我們會有各種資源,我們也會在各個地方需要訪問這些資源,那麼如何得到這些資源呢?我們可以寫乙個資源管理類來...