Python工廠模式簡(jiǎn)單例子
1. 創(chuàng)建基類打開Python開發(fā)工具IDLE,新建一個(gè)名為``的文件。首先,我們需要?jiǎng)?chuàng)建一個(gè)基類`animal`,代碼如下:```pythonclass animal(): def eat(s
1. 創(chuàng)建基類
打開Python開發(fā)工具IDLE,新建一個(gè)名為``的文件。首先,我們需要?jiǎng)?chuàng)建一個(gè)基類`animal`,代碼如下:
```python
class animal():
def eat(self):
pass
def voice(self):
pass
```
2. 創(chuàng)建dog類繼承animal類
在``文件中,編寫代碼,創(chuàng)建一個(gè)`dog`類繼承`animal`類,并復(fù)寫了`eat`和`voice`方法。代碼如下:
```python
class dog(animal):
def eat(self):
print('狗吃骨頭')
def voice(self):
print('狗叫汪汪')
```
3. 創(chuàng)建cat類繼承animal類
在``文件中,編寫代碼,創(chuàng)建一個(gè)`cat`類繼承`animal`類,并復(fù)寫了`eat`和`voice`方法。代碼如下:
```python
class cat(animal):
def eat(self):
print('貓吃魚')
def voice(self):
print('貓叫喵喵')
```
4. 創(chuàng)建工廠類
在``文件中,編寫代碼,創(chuàng)建一個(gè)工廠類,并編寫`createAni`函數(shù)來根據(jù)傳入的參數(shù)創(chuàng)建指定的對(duì)象并返回。代碼如下:
```python
class factoryAni:
def createAni(self, aniType):
if aniType 'dog':
return dog()
elif aniType 'cat':
return cat()
```
5. 使用工廠類創(chuàng)建對(duì)象
通過工廠對(duì)象的`createAni`方法創(chuàng)建`dog`對(duì)象,并執(zhí)行`eat`和`voice`方法。
```python
fa factoryAni()
d ('dog')
()
d.voice()
```
通過工廠對(duì)象的`createAni`方法創(chuàng)建`cat`對(duì)象,并執(zhí)行`eat`和`voice`方法。
```python
c ('cat')
()
c.voice()
```
6. 測(cè)試運(yùn)行結(jié)果
運(yùn)行程序,你會(huì)發(fā)現(xiàn)通過傳入不同的參數(shù),工廠對(duì)象分別創(chuàng)建了`dog`和`cat`對(duì)象,并成功執(zhí)行了對(duì)應(yīng)的方法。這就是工廠模式創(chuàng)建對(duì)象的簡(jiǎn)單例子。