没有合适的资源?快使用搜索试试~ 我知道了~
设计模式1
资源详情
资源评论
资源推荐
策略模式
public interface FlyBehavior {
public void fly();
}
public class FlyWithWings implements FlyBehavior{
@Override
public void fly() {
System.out.println("用翅膀飞");
}
}
public class FlyNoWay implements FlyBehavior {
@Override
public void fly() {
System.out.println("不会飞");
}
}
public interface QuackBehaivor {
public void quack();
}
public class Quack implements QuackBehaivor {
@Override
public void quack() {
System.out.println("呱呱叫");
}
}
public class MuteQuack implements QuackBehaivor {
@Override
public void quack() {
System.out.println("不会叫");
}
}
public abstract class Duck {
FlyBehavior flyBehavior;
QuackBehaivor quackBehavior;
public abstract void display();
public void performFly() {
flyBehavior.fly();
}
public void performQuack() {
quackBehavior.quack();
}
public void swim() {
System.out.println("所有的鸭子都会漂浮");
}
// 动态设置飞行行为
public void setFlyBehavior(FlyBehavior flyBehavior) {
this.flyBehavior = flyBehavior;
}
//动态设置叫的行为
public void setQuackBehavior(QuackBehaivor quackBehavior) {
this.quackBehavior = quackBehavior;
}
}
public class MallardDuck extends Duck {
@Override
public void display() {
System.out.println("我是绿头鸭");
}
}
public class MiniDuckSimulator {
public static void main(String []args) {
Duck mallard = new MallardDuck();
mallard.setFlyBehavior(new FlyWithWings());//用翅膀飞
mallard.setQuackBehavior(new Quack());//呱呱叫
mallard.performFly();
mallard.performQuack();
}
}
工厂方法模式
1. 简单工厂:
public interface ITea {
// 沏茶
public void makeTea();
}
public class LongjingTea implements ITea {
@Override
public void makeTea() {
System.out.println("西湖龙井");
}
}
剩余12页未读,继续阅读
黄浦江畔的夏先生
- 粉丝: 12
- 资源: 299
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0