python工廠模式 python實現工廠模式

2021-10-11 01:23:11 字數 1242 閱讀 9874

我們有乙個基類person,包含方法get_name和get_gender 。有兩個子類male 和female,建構函式可以打招呼。還有乙個工廠類。工廠類有乙個方法名get_person有兩個輸入引數,名字和性別。

使用者使用工廠類,通過呼叫get_person方法。

在程式執行期間,使用者通過性別傳遞來決定例項為male還是female。

class person:

name = none

gender = none

def __init__(self):

pass

def get_name(self):

return self.name

def get_gender(self):

return self.gender

class male(person):

def __init__(self, name):

super(male).__init__()

self.gender = "male"

self.name = name

print("hello mr.{}".format(name))

class female(person):

def __init__(self, name):

super(female).__init__()

self.gender = "female"

self.name = name

print("hello miss.{}".format(name))

class factory:

def get_person(self, name, gender):

if gender == "m":

return male(name)

elif gender == "f":

return female(name)

else:

raise exception("please input 'm' or 'f'")

gender = "f"

if __name__ == '__main__':

factory = factory()

person = factory.get_person("lee", gender)

print(person.get_name())

print(person.get_gender())

輸出:hello miss.lee

leefemale

工廠模式 PYTHON

工廠模式屬於建立模式列表類別。它提供了建立物件的最佳方法。在工廠模式中,建立物件時不會將邏輯公開給客戶端,並使用通用介面引用新建立的物件。工廠模式使用工廠方法在python中實現。當使用者呼叫乙個方法時,傳入乙個字串,並通過工廠方法實現建立乙個新物件,並將此物件作為返回值。工廠方法中使用的物件型別由...

python 工廠模式

內容 定義要給用於建立物件介面 工廠介面 讓子類決定例項化哪乙個產品類 角色 抽象工廠角色 creator 具體工廠角色 concrete creator 抽象產品角色 product 具體產品角色 concrete product 工廠 建立物件 1個工廠 生產乙個產品 每個產品有自己對應工廠就可...

python 工廠模式

python 工廠模式 工廠模式 工廠 即表示乙個負責建立其他型別的物件的類,通常情況下,乙個工廠的物件會有乙個或多個方法與之關聯,這些方法用於建立不同型別的物件,工廠物件會根據客戶端給方法傳遞的不同的引數返回不同的物件。優點 物件的建立是可以根據需要單獨建立的,但是使用工廠模式來建立物件有以下優點...