策略模式

2017-11-08  本文已影响0人  JacksonWen

定义

策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户.

原则

a.多态例子

假设有一个抽象类Animal,有两个具体实现类(Dog与Cat)继承Animal.


多态.png

做法如下:

//声明变量d为Dog类型(是Animal的具体实现),会造成我们必须针对具体实现编码
Dog d = new Dog();
d.wang();
//该对象是狗,但是现在利用animal进行多态的调用
Animal animal = new Dog();
animal.makeSound();
//不知道实际的子类型是什么...只关心它知道如何正确的进行makeSound()的动作就够了
a = getAnimal();
a.makeSound();

b.策略设计模式

c.小游戏

策略.png
上一篇 下一篇

猜你喜欢

热点阅读