
模式角色:
1、源:已有的产品
2、目标:期望的产品
3、适配器:把已有的产品转化成期望的产品
一、类适配器(继承实现)
//源
public class Painter {
public void drawPicture(){
System.out.println("画画!");
}
public void showPicture(){
System.out.println("办画展!");
}
}
//目标
public interface IDesigner {
public void drawPicture();
public void thinkUE();
public void showPicture();
}
//适配器
public class Designer extends Painter implements IDesigner{
//1.继承一个的行为 drawPicture()
@Override
public void thinkUE() {//2.增加一个行为
System.out.println("思考用户体验!");
}
@Override
public void showPicture() {//3.修改一个行为
System.out.println("办产品设计展!");
}
}
public class Customer{ //消费者
public static void main(String[] args) {
Designer designer=new Designer();
designer.drawPicture();
designer.thinkUE();
designer.showPicture();
}
}
二、对象适配器(合成/聚合实现)
//源
public class Painter {
public void drawPicture(){
System.out.println("画画!");
}
public void showPicture(){
System.out.println("办画展!");
}
public void sellPicture(){
System.out.println("卖画!");
}
}
//目标
public interface IDesigner {
public void drawPicture();
public void thinkUE();
public void showPicture();
}
//适配器
public class Designer implements IDesigner{
private Painter painter=new Painter();
@Override
public void drawPicture() {//1.复用一个行为
painter.drawPicture();
}
@Override
public void thinkUE() {//2.增加一个行为
System.out.println("思考用户体验!");
}
@Override
public void showPicture() {//3.修改一个行为
System.out.println("办产品设计展!");
}
//4.减少一个行为 sellPicture()
}
public class Customer{ //消费者
public static void main(String[] args) {
Designer designer=new Designer();
designer.drawPicture();
designer.thinkUE();
designer.showPicture();
}
}
博客介绍了适配器模式的角色,包括源(已有产品)、目标(期望产品)、适配器(转化已有产品为期望产品),还提及了适配器模式的两种实现方式,即类适配器(继承实现)和对象适配器(合成/聚合实现)。
2793

被折叠的 条评论
为什么被折叠?



