浅谈java设计模式之适配器模式

什么叫适配器模式?

可能这模式听起来很难理解,如果你还去背一大堆的定义,那太浪费时间了。
下面是我自己的理解,可能会对你有帮助;
再接口类的实现过程中,有时我们会觉得接口类里面的方法用不到,但是我们不得不在实现接口类的时候去重写接口里面的方法,这不但费时,代码结构也变得复杂了。运行时候也非常占用内存。
为了解决这个问题。我们可以在定义一个抽象容器类(也可以叫适配器类,自己的理解吧)去实现接口。我们在用到时就直接使用方法类继承容器类就可以了。
这就是适配器模式设计。下面直接上代码:

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();

}

}



运行效果图


以上属于本人的拙见,有不对的地方希望大家指出。谢谢!

猜你喜欢

转载自blog.csdn.net/qq_32663673/article/details/81669601