java设计模式---桥接模式 (二)

2014-11-24 10:14:32 · 作者: · 浏览: 1
人,里面有两个参数,一个参数是水果,一个参数是类型(代表是男人或是女人)
5.Man类
[java]
package com.brucezhang.bridge;
public class Man extends People{
public Man(){
setType("Man");
}
@Override
public void eat() {
// TODO Auto-generated method stub
getFruit().eatFruit(this);
}
}
package com.brucezhang.bridge;
public class Man extends People{
public Man(){
setType("Man");
}
@Override
public void eat() {
// TODO Auto-generated method stub
getFruit().eatFruit(this);
}
}
6.Woman类
[java]
package com.brucezhang.bridge;
public class Woman extends People{
public Woman(){
setType("Woman");
}
@Override
public void eat() {
// TODO Auto-generated method stub
getFruit().eatFruit(this);
}
}
package com.brucezhang.bridge;
public class Woman extends People{
public Woman(){
setType("Woman");
}
@Override
public void eat() {
// TODO Auto-generated method stub
getFruit().eatFruit(this);
}
}
这两个类继承自People类,是具体的“人”,其中重写了父类方法,并在构造函数中说明是“什么人”
7.测试类--Main_Test
[java]
package com.brucezhang.bridge;
public class Main_Test {
public static void main(String[] args) {
People man = new Man();
People woman = new Woman();
Fruit apple = new Apple();
Fruit oranger = new Oranger();
apple.eatFruit(man);
oranger.eatFruit(woman);
apple.eatFruit(woman);
oranger.eatFruit(man);
}
}
package com.brucezhang.bridge;
public class Main_Test {
public static void main(String[] args) {
People man = new Man();
People woman = new Woman();
Fruit apple = new Apple();
Fruit oranger = new Oranger();
apple.eatFruit(man);
oranger.eatFruit(woman);
apple.eatFruit(woman);
oranger.eatFruit(man);
}
}
这里是对桥接模式的测试。
程序执行的结果如下:
[java]
Man eat apple !
Woman eat oranger !
Woman eat apple !
Man eat oranger !
Man eat apple !
Woman eat oranger !
Woman eat apple !
Man eat oranger !