适配器模式:将一个类的接口装换成另一个客户期望的接口,让原本两个不同的类使用起来像是一个类。分为类的适配器和对象的适配器。
对象的适配器:使用组合的方式达到适配的效果。
public interface Target {
public void run();
}
public class Dog implements Target{
@Override
public void run() {
System.out.println("狗狗在地上跑");
}
}
public class Fish {
public void swim()
{
System.out.println("鱼在水中游~~");
}
}
public class Adpter implements Target{
private Fish fish;
public Adpter(Fish fish)
{
this.fish = fish;
}
@Override
public void run() {
this.fish.swim();
}
}
public class Test {
public static void main(String args[])
{
Fish fish = new Fish();
Target dog = new Adpter(fish);
dog.run();
}
}
类的适配器:利用继承的方式达到适配的目的。
public interface Bird {
public void fly();
}
public interface Fish {
public void swim();
}
public class Goldfish implements Fish{
@Override
public void swim() {
System.out.println("一条小金鱼在水中游~~");
}
}
public class Adpter extends Goldfish implements Bird{
@Override
public void fly() {
swim();
}
}
public class Test {
public static void main(String args[])
{
Adpter adpter = new Adpter();
adpter.fly();
}
}