更新時(shí)間:2021-03-19 來源:黑馬程序員 瀏覽量:
(1)問題分析
面試官主要想對工廠模式的理解與實(shí)際應(yīng)用考核。
(2)核心問題講解
class Person: 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 "Hello Miss." + name class Factory: def getPerson(self, name, gender): if gender == 'M': return Male(name) if gender == 'F': return Female(name) if __name__ == '__main__': factory = Factory() person = factory.getPerson("Chetan", "M")
(3)問題擴(kuò)展
工廠模式,就是通過一個(gè)指定的“工廠”獲得需要的“產(chǎn)品”,在設(shè)計(jì)模式中主要用于抽象對象的創(chuàng)建過程,讓用戶可以指定自己想要的對象,而不必關(guān)心對象的實(shí)例化過程。工廠模式中包含一個(gè)超類,這個(gè)超類提供了一個(gè)抽象化的接口來創(chuàng)建一個(gè)特定類型的對象,而不是決定哪個(gè)對象可以被創(chuàng)建。
(4)結(jié)合項(xiàng)目中使用
無
猜你喜歡:
Python web開發(fā)框架Zope有什么優(yōu)勢?
IPython有哪些優(yōu)點(diǎn)?怎樣安裝和啟動(dòng)IPython?