适配器模式
1 个人理解就是 原先一个接口A,一个实现类B,现在又来了一个类C,把 原来的实现类B具备后来类C的方法,则采用适配器的方式,一般碰到了类似的场景自然会想到用这个设计模式(直接一点就是传个参数,(类似于虽然王婆和西门庆谈判,但是实际是潘金莲取代王婆和西门庆。。。的意思,这个思想只是适配器模式的一部分)
2 其中还涉及了内部类的用法的简单知识,为了简洁方便写在了一个类里,
3 源码:
package adapter;
/**
* 适配器模式
* @author chaigw
*
*/
public class AdapterDesign {
public static void main(String[] args) {
AdapterDesign test = new AdapterDesign();
Glass glass = test.new Glass();
Baoma baoma = test.new Baoma(glass);
baoma.setGlassType("防弹的");
baoma.getColor();
baoma.getPrice();
baoma.getGlassType();
}
interface Car
{
void getColor();
void getPrice();
}
class Baoma implements Car
{
public Glass glass;
public Baoma(Glass glass) {
this.glass = glass;
}
public void setGlassType(String type) {
this.glass.setGlassType(type);
}
@Override
public void getColor() {
System.out.println("宝马是黑色的");
}
@Override
public void getPrice() {
System.out.println("宝马价值100块");
}
public void getGlassType()
{
this.glass.getGlassType();
}
}
class Glass
{
public String type;
public void getGlassType()
{
System.out.println("玻璃的类型是"+type);
}
public void setGlassType(String type)
{
this.type = type;
}
}
}
4 返回结果
宝马是黑色的
宝马价值100块
玻璃的类型是防弹的
说明:从原来两个属性的基础上多了一个 防弹的 的类型