适配器模式
适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得将原本由于接口不兼容而不能一起工作的那些类可以一起工作。
oo设计原则:
- 面向接口编程(面向抽象编程);
- 封装变化;
- 多用组合,少用继承;
- 对修改关闭,对扩展开放。
public class test1 {
public static void main(String[] args) {
PowerA powerA = new PowerAImpl();
//work(powerA);
PowerB powerB = new PowerBImpl();
//work(powerB);
Adapter adapter = new Adapter(powerB);
work(adapter);
}
public static void work(PowerA a){
System.out.println("正在连接----");
a.insert();
System.out.println("工作结束。");
}
}
interface Animal{
public void sing();
public void cry();
public void run();
public void swim();
}
//适配器类
abstract class AnimalFuntion{
public void sing(){};
public void cry(){};
public void run(){};
public void swim(){};
}
class Dog extends AnimalFuntion{
//只关注跑这个动作
@Override
public void run() {
System.out.println("我跑");
}
}
//适配器
class Adapter implements PowerA{
private PowerB powerB ;
public Adapter(PowerB powerB){
this.powerB = powerB;
}
@Override
public void insert() {
powerB.connet();
}
}
interface PowerA{
public void insert();
}
interface PowerB{
public void connet();
}
class PowerBImpl implements PowerB{
@Override
public void connet() {
System.out.println("电源B开始工作---");
}
}
class PowerAImpl implements PowerA{
@Override
public void insert() {
System.out.println("电源A开始工作。");
}
}