基本理论请直接找书看,这里直接给例子,欢迎大家学习、讨论、或指点改进
刀具是祖先类,铣刀和钻头继承了刀具
#文件名 tool.py
# -*- coding: utf-8 -*-
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from future_builtins import *
import sys
class Tool(object):
'''刀具的祖先类 '''
def __init__(self,name=None,diameter=0):
self.name=name
self.diameter=diameter
def make(self):
result='made nothing'
print (result)
return result
class MillTool(Tool):
def __init__(self, name=None,diameter=0):
super(MillTool,self).__init__(name,diameter)
def make(self):
result=self.name+ ' diameter=%d' %self.diameter + ' have been made'
print (result)
return result
class DrillTool(Tool):
def __init__(self, name=None,diameter=0,drill=0):
self.drill=drill
super(DrillTool,self).__init__(name,diameter)
def make(self):
result=self.name+ ' diameter=%d' %self.diameter + ' drill=%d' %self.drill + ' have been made'
print (result)
return result
#为了生产刀具,建立一个简单工厂
class SimpleToolFactory(object):
def creat(self,tool_type,name=None,diameter=10,drill=2):
tool=Tool()
if tool_type=='mill':
tool=MillTool(name,diameter)
elif tool_type=='drill':
tool=DrillTool(name,diameter,drill)
else:
print('tool type error')
return tool
#客户端为
if (__name__ == "__main__"):
tool=Tool()
tool_factory=SimpleToolFactory()
tool=tool_factory.creat("mill","zjm",10)
tool.make()