/**
* 适配器模式 -- 接口的适配器模式
* 当不希望实现某个接口的所有方法时使用接口的适配器模式
* 使用一个抽象类实现接口中的所有方法,在写其他类的时候继承改抽象类
* 同时重写需要的方法,从而避免实现所有的接口方法
*/
public abstract class Wrap implements Targetable {
@Override
public void method01() {
}
@Override
public void method02() {
}
}
/**
* 该类只希望实现method01方法
*/
public class Wrapper01 extends Wrap {
@Override
public void method01(){
System.out.println("method01 in Wrapper01 extends abstract class Wrap.");
}
}
/**
* 该类只希望实现method02方法
*/
public class Wrapper02 extends Wrap {
@Override
public void method02(){
System.out.println("method02 in Wrapper02 extends abstract class Wrap.");
}
}
public interface Targetable {
void method01();
void method02();
}
public class Test {
public static void main(String[] args) {
Wrap wrapper01 = new Wrapper01();
Wrap wrapper02 = new Wrapper02();
wrapper01.method01();
wrapper01.method02();
wrapper02.method01();
wrapper02.method02();
}
}