工廠模式,類似實(shí)際的制造車間中,根據(jù)訂單的需求來生成/創(chuàng)建某個(gè)實(shí)例。
1.應(yīng)用場景:需要?jiǎng)?chuàng)建的實(shí)例不確定,由輸入的數(shù)據(jù)決定;
2.實(shí)現(xiàn)方法:實(shí)現(xiàn)一個(gè)獨(dú)立的類,接收傳入的需要?jiǎng)?chuàng)建實(shí)例的名稱,在該類中實(shí)現(xiàn)創(chuàng)建某個(gè)具體實(shí)例。
3.代碼:
#coding:utf-8
class Person(object):
def __init__(self):
self.name=None
self.gender=None
def getName(self):
return self.name
def getGender(self):
return self.gender
class male(Person):
def __init__(self,name):
print("Hello,Mr."+name)
class female(Person):
def __init__(self,name):
print("Hi,Mrs."+name)
class Factory(object): #factory class,will accept the input data
def getPerson(self,name,gender):
if gender=='M':
return male(name)
else:
return female(name)
if __name__ == "__main__":
factory_obj=Factory()
factory_obj.getPerson("Kate","F")
#output:
Hi,Mrs.Kate
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
