#学习版本3.5.2
#模版方法模式,定义一个工作或者算法的基本流程骨架,将一些特定的流程步骤用继承的
#方式来实现
#该模式可以使得子类不改变一个算法的结构而重新定义算法的某些特定步骤
#例如:出去旅游选择交通方式
class Travel(object):
def ready(self):
print("ready for travel.")
def tripMode(self):
print("on foot")
def destination(self):
print("destination: beijin")
def travel(self):
self.ready()
self.tripMode()
self.destination()
class TravelByTrain(Travel):
def tripMode(self):
print("by train")
class TravelByPlane(Travel):
def tripMode(self):
print("by plane")
if __name__ == "__main__":
travel1 = TravelByTrain()
travel1.travel()
travel2 = TravelByPlane()
travel2.travel()
运行结果
ready for travel.
by train
destination: beijin
ready for travel.
by plane
destination: beijin