接口补充以及适配器设计模式
1.接口代表规则,是行为的抽象,想要让哪个类拥有一个行为,就让这个类实现对应的接口就好了。
2.当一个方法的参数是接口时,可以传递接口所有实现类的对象,这种方法称之为接口多态。
适配器设计模式:
1.设计模式就是各种套路。
2.适配器设计模式:解决接口与接口实现类之间的矛盾问题。
代码演示:
package Demon01;
public interface Inter {
public abstract void method1();
public abstract void method2();
public abstract void method3();
public abstract void method4();
public abstract void method5();
public abstract void method6();
public abstract void method7();
public abstract void method8();
public abstract void method9();
public abstract void method10();
}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000000000000000")
package Demon01;
public abstract class InterAdapter implements Inter{//让中间的类去implem接口,让中间的类空实现
//对所有的方法进行空实现,空实现就是实现了,但里面的方法体不重写
@Override
public void method1() {
}
@Override
public void method2() {
}
@Override
public void method3() {
}
@Override
public void method4() {
}
@Override
public void method5() {
}
@Override
public void method6() {
}
@Override
public void method7() {
}
@Override
public void method8() {
}
@Override
public void method9() {
}
@Override
public void method10() {
}
}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000000000000000")
实现类:
package Demon01;
public class InterImpl extends InterAdapter{
//只想用第五个方法,用适配器设计模式
//我需要用到那个方法,重写哪个方法就可以了
@Override
public void method5() {
System.out.println("只要用第五个方法");
}
}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000000000000000")
测试类:
package Demon01;
public class Test {
public static void main(String[] args) {
InterImpl ii=new InterImpl();
ii.method5();
}
}
运行结果:
只要用第五个方法
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000000000000000")
总结:
当一个接口中抽象方法过多,而我只想要用其中一部分方法时,就可以用适配器模式。
2.书写步骤:
编写中间类XXXAdapter,实现对应的接口
对接口中的抽象方法进行空实现
让真正的实现类继承中间类,并重写需要用到的方法
为了避免其他类创建适配器类的对象,中间的适配器类用abstract进行修饰。