类适配器:
uml:
具体代码实现:
public interface PlayMovie {
public void playMovie();
}
public class PlayMp4Movie {
public void playMp4Movie(){
System.out.println("mp4格式播放");
}
}
public class Adapter extends PlayMp4Movie implements PlayMovie{
@Override
public void playMovie() {
super.playMp4Movie();
}
}
public class Client {
public static void main(String[] args) {
PlayMovie p = new Adapter();
p.playMovie();
}
}
对象适配器模式:
具体代码实现:
- 其他代码和上面一致,只需要修改一下适配器类即可
- 推荐使用此方式
public class Adapter implements PlayMovie{
PlayMp4Movie playMp4Movie = new PlayMp4Movie();
@Override
public void playMovie() {
playMp4Movie.playMp4Movie();
}
}
接口适配器模式:
public interface A {
public void a();
public void b();
public void c();
public void d();
public void e();
}
public abstract class adapter implements A{
public void a(){}
public void b(){}
public void c(){}
public void d(){}
public void e(){}
}
public class B extends adapter {
@Override
public void a() {
System.out.println("a方法");
}
@Override
public void b() {
System.out.println("b方法");
}
}
public class Client {
public static void main(String[] args) {
A a = new B();
a.a();
a.b();
}
}