适配器模式:也可以说是包装模式。
类适配器模式
建一个适配类,继承特殊类(需要被适配的),实现已有的接口
------在这个新建的类中完成包装
对象适配器模式
唯一不同的就是,不是继承特殊类,而是将特殊类变为成员变量,再实现已有的接口
二、代码实现
披着羊皮的狼
/** *外来者-狼 */ 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>