一、
适配器模式:也可以说是包装模式。
类适配器模式
建一个适配类,继承特殊类(需要被适配的),实现已有的接口
------在这个新建的类中完成包装
对象适配器模式
唯一不同的就是,不是继承特殊类,而是将特殊类变为成员变量,再实现已有的接口
二、代码实现
披着羊皮的狼
无论是羊是狼都执行了羊的方法
E:\test>javac sic.java
E:\test>java SheepWorld
我是真实的羊
我是一只披着羊皮的狼
E:\test>
适配器模式:也可以说是包装模式。
类适配器模式
建一个适配类,继承特殊类(需要被适配的),实现已有的接口
------在这个新建的类中完成包装
对象适配器模式
唯一不同的就是,不是继承特殊类,而是将特殊类变为成员变量,再实现已有的接口
二、代码实现
披着羊皮的狼
/**
*外来者-狼
*/
class Wolf{
public void baseInfo(){
System.out.println("我是一只披着羊皮的狼");
}
}
/**
*羊模
*/
interface ISheep{
public void sheepInfo();
}
/*
*羊皮,类适配器
class Adapter extends Wolf implements ISheep{
public void sheepInfo(){
super.baseInfo();
}
}*/
/*
*对象适配器
*/
class Adapter implements ISheep{
private Wolf worf;
Adapter(){
worf=new Wolf();
}
public void sheepInfo(){
worf.baseInfo();
}
}
/**
*真实的羊
*/
class Sheep implements ISheep{
public void sheepInfo(){
System.out.println("我是真实的羊");
}
}
/**
*羊的世界
*/
class SheepWorld{
public static void main(String args[]){
ISheep sheep=new Sheep();
sheep.sheepInfo();
//披着羊皮的狼
ISheep adapeter=new Adapter();
adapeter.sheepInfo();
}
}
无论是羊是狼都执行了羊的方法
E:\test>javac sic.java
E:\test>java SheepWorld
我是真实的羊
我是一只披着羊皮的狼
E:\test>