什么叫适配器模式?
可能这模式听起来很难理解,如果你还去背一大堆的定义,那太浪费时间了。
下面是我自己的理解,可能会对你有帮助;
再接口类的实现过程中,有时我们会觉得接口类里面的方法用不到,但是我们不得不在实现接口类的时候去重写接口里面的方法,这不但费时,代码结构也变得复杂了。运行时候也非常占用内存。
为了解决这个问题。我们可以在定义一个抽象容器类(也可以叫适配器类,自己的理解吧)去实现接口。我们在用到时就直接使用方法类继承容器类就可以了。
这就是适配器模式设计。下面直接上代码:
public interface Student {
/**
*适配器模式设计的第一步,创建接口
*
*/
public abstract void shopping();//购物
public abstract void watchTV();//看电视
public abstract void palyBasketball();//打篮球
public abstract void doHomeework();//做作业
}
public class SPQ implements Student {
/**
* 第二步,实现student接口类,重写接口里的全部方法
*
*/
@Override
public void shopping() {
}
@Override
public void watchTV() {
}
@Override
public void palyBasketball() {
}
@Override
public void doHomeework() {
}
}
public class Student1 extends SPQ {
/*第三步:
*完成实现各自想要的方法。
*
* 在这个学生1中,我们继承了容器类SPQ,我们实现了接口类中购物的方法。
* 但是我们并没有实现接口类中的所有方法。
* @see SPQ#shopping()
*/
@Override
public void shopping() { //实现购物方法
System.out.println("我是学生1,我今天要去购物");
}
}
public class Student2 extends SPQ{
/*
*学生2和学生1一样。
*/
@Override
public void watchTV() { //实现看电视方法
System.out.println("我是学生2,我今天要看电视。");
}
}
public class test {
/**这是测试类
* @param args
*/
public static void main(String[] args) {
Student1 s1= new Student1();
s1.shopping();
Student2 s2=new Student2();
s2.watchTV();
}
}
以上属于本人的拙见,有不对的地方希望大家指出。谢谢!