策略模式 也叫 政策模式(Policy Pattern)。指的是对象具备某个行为,但是在不同的场景中,该行为有不同的实现算法。做一件事情时候的不同执行方式。
使用的就是面向对象的继承和多态机制,从而实现同一行为在不同场景下
具备不同实现。
打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐
公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。
策略模式 本质:分离算法,选择实现。
实现Comparable接口,只能写一种实现方法。
Comparable : int compareTo(T o)
compareTo:
Returns: a negative integer, zero, or a positive integer as this
object is less than, equal to,or greater than the specified object.
实现Comparator接口,可以实现多种方法。
策略模式接口:比较器:写比较策略的。
Comparator:int compare(T o1, T o2)
怎么对猫进行排序?
对猫比较大小的策略(身高 或 体重)指定。
如果使用Comparator策略模式,除了可以用WeightComparator外,还可以用HeightComparator(指定属性比较)。
Java 多态,多态是同一个行为具有多个不同表现形式或形态的能力。