美文网首页
Java进阶学习笔记(九)

Java进阶学习笔记(九)

作者: 理以周 | 来源:发表于2019-07-19 11:27 被阅读0次

    1.DOME的新媒体类型:

    1.1 增加新的媒体类型:

    可扩展性:函数、类,你的代码不需要修改就可以完全去适应新的内容;

    可维护性:经过修改了再去适应;

    1.2 更深的继承:

    增加新的类型

    2.城堡游戏:

    2.1 游戏设计:

    Room类 Game类

    2.2 消除代码复制:

        \bullet 代码复制是不良设计的一种表现,不利于将来的需要----维护;

    2.3 增加可扩展性:

        \bullet 可以运行的代码!=良好的代码;

        \bullet 对代码做维护的时候最能看出代码的质量;

        \bullet 如果想要增加一个方向,如down或up

    3.封装:(代码的维护成为好坏的评价标准)

    3.1 用封装来降低耦合:

        \bullet Room类和Game类都有;

        \bullet 尤其是Game类中大量使用了Room类的成员变量;大量的代码和出口相关;

        \bullet 类和类之间的关系成为耦合;

        \bullet 耦合越低越好,保持距离是形成良好代码的关键;

    4. 可扩展性:

    4.1 用接口来实现聚合:

        给Room类实现的新方法,把方向的细节彻底隐藏在Room类内部了;

        \bullet 今后方向如何实现就和外部无关了;

    4.2 用容器来实现灵活性:

        \bullet Room的方向是用成员变量表示的,增加或减少方向就要改变代码;

        \bullet 如果用Hash表来表示方向,那么方向就不是“硬编码”的了;

    容器、hash表的灵活使用

    5.框架加数据:

    5.1 以框架+数据来提高可扩展性:

        \bullet 命令的解析是否可以脱离if-else;

        \bullet 定义一个Handler来处理命令;

        \bullet 用Hash表来保存命令和Handler之间的关系;

    框架

    6.抽象:

    6.1 抽象函数/抽象类

        \bullet 抽象函数----表达概念而无法实现具体代码的函数;

        \bullet 抽象类-----表达概念而无法构造出实体的类;

        \bullet 带有abstract修饰符的函数;

        \bullet 有抽象函数的类一定是抽象类;

        \bullet 抽象类不能制造对象,但是可以定义变量,任何继承了抽象类的非抽象类的对象可以付给这个变量;

    抽象类

    6.2 实现抽象函数:

        \bullet 继承自抽象类的子类必须覆盖父类中的抽象函数,否则自己成为抽象类;//实现

    实现抽象

    6.3 两种抽象:

        与具体相对;

            \bullet 表示一直概念而非实体;

        \bullet 与细节相对;

            \bullet 表示一定程度上忽略细节而着眼大局;

    抽象


    相关文章

      网友评论

          本文标题:Java进阶学习笔记(九)

          本文链接:https://www.haomeiwen.com/subject/qsoqlctx.html