栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

设计模式之适配器模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设计模式之适配器模式

引入

        在我们实际的开发中,接口需要定义很多抽象方法。按照传统的来讲,即便某些子类不需要实现接口中的某些方法,那么也不得不进行方法的覆写(这是因为java语法的要求)。我们来看一下传统的方法

代码说明 
interface IBook {
    public void read();

    public void create();

    public void message();
}

class MathBook implements IBook {

    @Override
    public void read() {
        System.out.println("【MathBook子类】认真学习数学图书,巩固计算机的基础知识");
    }

    @Override
    public void create() {

    }

    @Override
    public void message() {

    }
}


class ProgramBook implements IBook {

    @Override
    public void read() {

    }

    @Override
    public void create() {
        System.out.println("【ProgramBook 子类】根据编程图书上给的知识,创建属于自己的未来网络");
    }

    @Override
    public void message() {

    }
}
适配器

        如果真的面对程序的编写,肯定希望直接命中主题,但是现在发现所有定义的子类不得不被需要无用的方法所拖累。即便不适用,也需要实现它,如果要是解决这个问题就需要找一个替代品,这个替代品负责实现接口中的所有方法,同时这替代品又不能够直接的使用,那么这种情况就是抽象类。

​​​​​​​

 

 代码说明:
interface IBook {
    public void read();

    public void create();

    public void message();
}

abstract class AbstractBookAdapter implements IBook {
    public void read() {

    }

    public void create() {

    }

    public void message() {

    }
}

class ProgramBookAbstract extends AbstractBookAdapter implements IBook {

    @Override
    public void create() {

        System.out.println("【ProgramBook 子类】根据编程图书上给的知识,创建属于自己的未来网络");

    }

}

        这样的接口中,我们可以拥有一个非常灵活的空间

        在以上程序中使用抽象类实现了程序的最终过度处理。这样就避免了子类要大面积覆写接口中抽象方法的尴尬局面。这样的设计在Java中属于适配器的设计模式。这种设计模式在整个类库中以及后续的学习中都是非常常见的功能。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851394.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号