java bridge设计模式
2012-04-30 10:57
316 查看
简单的设计图:
代码的实现:
Java代码
package bridge;
public abstract
class Clothing {
/**
* 抽象方法
* @param person
*/
public abstract
void dressCloth(Person person);
}
Java代码
package bridge;
public class Jacket
extends Clothing {
@Override
public void dressCloth(Person person) {
// TODO Auto-generated method stub
System.out.println(person.getType() + "穿上马甲!");
}
}
Java代码
package bridge;
public class Trouser
extends Clothing {
@Override
public void dressCloth(Person person) {
// TODO Auto-generated method stub
System.out.println(person.getType() + "穿上裤子!");
}
}
Java代码
package bridge;
public abstract
class Person {
private String type;
private Clothing clothing;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Clothing getClothing() {
return clothing;
}
public void setClothing(Clothing clothing) {
this.clothing = clothing;
}
//抽象方法
public abstract
void dress();
}
Java代码
package bridge;
public class Man
extends Person {
public Man()
{
setType("男人");
}
@Override
public void dress() {
getClothing().dressCloth(this);
}
}
Java代码
package bridge;
public class Woman
extends Person {
public Woman()
{
setType("女人");
}
@Override
public void dress() {
getClothing().dressCloth(this);
}
}
Java代码
package bridge;
public class ClientTest {
/**
* @param args
*/
public static
void main(String[] args) {
//两类人
Person man = new Man();
Person lady = new Woman();
//两种衣服的类
Clothing jacket = new Jacket();
Clothing trouser = new Trouser();
jacket.dressCloth(man);
trouser.dressCloth(man);
jacket.dressCloth(lady);
trouser.dressCloth(lady);
}
}
代码的实现:
Java代码
package bridge;
public abstract
class Clothing {
/**
* 抽象方法
* @param person
*/
public abstract
void dressCloth(Person person);
}
package bridge; public abstract class Clothing { /** * 抽象方法 * @param person */ public abstract void dressCloth(Person person); }
Java代码
package bridge;
public class Jacket
extends Clothing {
@Override
public void dressCloth(Person person) {
// TODO Auto-generated method stub
System.out.println(person.getType() + "穿上马甲!");
}
}
package bridge; public class Jacket extends Clothing { @Override public void dressCloth(Person person) { // TODO Auto-generated method stub System.out.println(person.getType() + "穿上马甲!"); } }
Java代码
package bridge;
public class Trouser
extends Clothing {
@Override
public void dressCloth(Person person) {
// TODO Auto-generated method stub
System.out.println(person.getType() + "穿上裤子!");
}
}
package bridge; public class Trouser extends Clothing { @Override public void dressCloth(Person person) { // TODO Auto-generated method stub System.out.println(person.getType() + "穿上裤子!"); } }
Java代码
package bridge;
public abstract
class Person {
private String type;
private Clothing clothing;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Clothing getClothing() {
return clothing;
}
public void setClothing(Clothing clothing) {
this.clothing = clothing;
}
//抽象方法
public abstract
void dress();
}
package bridge; public abstract class Person { private String type; private Clothing clothing; public String getType() { return type; } public void setType(String type) { this.type = type; } public Clothing getClothing() { return clothing; } public void setClothing(Clothing clothing) { this.clothing = clothing; } //抽象方法 public abstract void dress(); }
Java代码
package bridge;
public class Man
extends Person {
public Man()
{
setType("男人");
}
@Override
public void dress() {
getClothing().dressCloth(this);
}
}
package bridge; public class Man extends Person { public Man() { setType("男人"); } @Override public void dress() { getClothing().dressCloth(this); } }
Java代码
package bridge;
public class Woman
extends Person {
public Woman()
{
setType("女人");
}
@Override
public void dress() {
getClothing().dressCloth(this);
}
}
package bridge; public class Woman extends Person { public Woman() { setType("女人"); } @Override public void dress() { getClothing().dressCloth(this); } }
Java代码
package bridge;
public class ClientTest {
/**
* @param args
*/
public static
void main(String[] args) {
//两类人
Person man = new Man();
Person lady = new Woman();
//两种衣服的类
Clothing jacket = new Jacket();
Clothing trouser = new Trouser();
jacket.dressCloth(man);
trouser.dressCloth(man);
jacket.dressCloth(lady);
trouser.dressCloth(lady);
}
}
相关文章推荐
- 学习:java设计模式—Bridge模式
- 浅谈Java设计模式(十)桥接模式(Bridge)
- Java设计模式二十一:桥模式(Bridge Pattern)
- Java设计模式 Bridge(桥接)Adapter,command,State,Mediator,Facade
- java设计模式(九)——桥接模式(Bridge)
- Java设计模式之Bridge模式
- Java23种设计模式案例:桥接模式(bridge)
- Java设计模式-----Bridge桥接模式
- (转)设计模式-----桥接模式(Bridge Pattern)-Java
- java设计模式(精通系列)-Bridge模式
- 设计模式(七)----- 桥接模式(Bridge)----(JAVA版)
- 设计模式学习笔记---桥接模式bridge(Java版)
- java23种设计模式--桥接模式(bridge)
- JAVA设计模式之 桥接模式【Bridge Pattern】
- java 设计模式之桥接模式Bridge
- java设计模式之桥梁模式(Bridge)
- java设计模式之桥接模式(Bridge)
- java设计模式10——桥接模式(Bridge)
- Java设计模式之结构型模式-桥接模式(Bridge)
- Java设计模式——Bridge(桥接)模式