物件導向(Python) 學習筆記之單例模式

2021-09-29 17:28:06 字數 1324 閱讀 8284

單例設計模式的應用場景:

**站 物件

印表機 物件

重寫__new__方法的**非常固定

class

musicplayer

:def

__new__

(cls,

*args,

**kwargs)

:# 1.建立物件時,new方法會被自動呼叫

print

("建立物件,分配空間"

)# 2.為物件分配空間

instance =

super()

.__new__(cls)

# 3.返回物件的引用

return instance

def__init__

(self)

:print()

player = musicplayer(

)print

(player)

執行結果:

需求:

解決辦法:

①定義乙個類屬性init_flag標記是否執行過初始化動作,初始值為false

②在__init__方法中,對init_flag進行判斷,如果為false就執行初始化動作

③然後把init_flag賦值為true

④這樣,再次呼叫__init__方法時,初始化動作就不會被執行了

class

musicplayer

: init_flag =

false

def__init__

(self):if

not musicplayer.init_flag:

print()

musicplayer.init_flag =

true

else

:return

# 建立多個物件

player1 = musicplayer(

)player2 = musicplayer(

)

執行結果:

Python學習筆記 物件導向

物件導向 oop 基本概念 物件導向程式設計 object oriented programming簡寫 oop 1 物件導向基本概念 之前的學習程式設計方式就是面向過程的 面向過程和物件導向,是兩種不同的程式設計方式 對比面向過程的特點,可以更好的了解什麼是物件導向 2 過程和函式 科普 過程是最...

物件導向程式設計 python 學習筆記

物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把...

Python物件導向學習筆記(二)

在使用面相物件開發前,應該首先分析需求,確定一下,程式中需要包含哪些類!在程式開發中,要設計乙個類,通常需要滿足一下三個要素 類名這類事物的名字,滿足大駝峰命名法屬性這類事物具有什麼樣的特徵 方法這類事物具有什麼樣的行為 capwords 每乙個單詞的首字母大寫 單詞與單詞之間沒有下劃線 名詞提煉法...