设计模式之策略模式
需求:1:模拟鸭子项目从项目"模拟鸭子游戏"开始。鸭子都会叫、会游泳。有的鸭子是红头的、有的鸭子是绿头的。分析:从OO(Object Oriented,面向对象)的角度设计这个项目。鸭子的父类:抽象的 1.都会gaga叫 2.抽象的外形(如:红头鸭、绿头鸭等) &nb
需求:
1:模拟鸭子项目
从项目"模拟鸭子游戏"开始。
鸭子都会叫、会游泳。有的鸭子是红头的、有的鸭子是绿头的。
分析:
从OO(Object Oriented,面向对象)的角度设计这个项目。
鸭子的父类:
抽象的
1.都会gaga叫
2.抽象的外形(如:红头鸭、绿头鸭等)
3.都会游泳
综上所述,我们得到鸭子父类:
public abstract class Duck {
public Duck(){};
//1:鸭子都会叫
public void quack(){
System.out.println("~嘎嘎叫~");
}
//2:抽象的外形
public abstract void display();
//3:鸭子都会游泳
public void swim(){
System.out.println("~~swiming ~~");
}
}
具体实现:
绿头鸭:
public class GreenHeadDuck extends Duck{
@Override
public void display() {
System.out.println("~~ i'm GreenHeadDuck ~~ gaga");
}
}红头鸭:
public class RedHeadQuck extends Duck{
@Override
public void display() {
System.out.println("~~ i'm Read ~~ gaga");
}原创不易,完成人机校验,阅读全文