策略模式
来源:互联网 发布:女孩子淘宝收件人名字 编辑:程序博客网 时间:2024/05/09 20:46
策略模式 定义算法簇,分别封装起来, 让他们之间可以互相替换,此模式让算法的变化对立与使用算法的客户
#coding:utf-8class Duck: def __init__(self): self.fly_behavior = FlyNoWay() # 把飞的动作托付给FlyBehavior对象的子类 def perform_fly(self): self.fly_behavior.fly() def set_fly_behavior(self, fly_behavior): self.fly_behavior = fly_behavior# 不同的飞翔方法,都继承FlyBehaviorclass FlyBehavior: def fly(self): raise NotImplemented()class FlyWithWings(FlyBehavior): def fly(self): print 'fly with wings'class FlyNoWay(FlyBehavior): def fly(self): print 'can not fly'if __name__ == '__main__': d=Duck() d.perform_fly() #can not fly d.set_fly_behavior(FlyWithWings()) d.perform_fly() #fly with wings
0 0
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 给 iOS 开发者的 Sketch 入门教程
- 穷人家庭出身的我们没必要因家境而自卑,努力就有希望
- Android学习心得第五课
- Jetty实战之 嵌入式Jetty集成Spring运行
- 32位和64位下的sizeof()
- 策略模式
- java自定义注解类的学习心得
- 关于git初始化后无 .git文件生成的问题
- Matlab中的小技巧
- 《任何一个整数模9同余于它的各数位上数字之和》
- hdoj-1058
- shiro简单配置
- posix线程<二>
- 【慕课笔记】5-1 JAVA中的进制