给设计原则打个基础

作者: 程序亦非猿 | 来源:发表于2016-01-12 09:28 被阅读263次

    前言

    PS:本人边学变写,由于本人能力有限,所以在理解、解释等各方面一定会有所欠缺,如果有什么不对或者不足之处,非常欢迎各位在各种渠道批评指点!
    另外设计模式系列会跟随自己的能力or理解or别人的指导不定期更新

    面向对象(Object-Oriented,OO)是基础中的基础,亦是重中之重.
    面向对象学得好,才能顺利地往设计模式的方向继续前行.

    JAVA面向对象最重要的特征就是:封装,继承,多态(所谓的三大特征)。
    就个人体会来简单讲一下.

    封装

    封装通过合并特征和行为来创建新的数据类型.

    个人体会:

    优点

    封装有个好处是实现隐藏:
    通过将细节私有化把接口和实现分离开来.

    个人觉得封装的主要意义有:

    1. 保护私有数据,只提供方法给外部调用
    2. 抽象出方法,做成util,统一处理,复用,提高效率

    缺点

    记住不要过度封装!

    继承

    在Java中,对应extends关键字.

    个人体会:

    优点

    子类继承父类后拥有父类的属性成员,可以很好的复用已有的类,不需要再重复写方法属性了.

    缺点

    刚开始学习继承的时候很喜欢用,但是后来渐渐地发现继承其实有很大的缺点:

    1. 继承很重,子类拥有父类的所有东西,不管要不要,有没有用.
    2. 父类一改,牵动所有的子类,很明显这不是我们所希望发生的.

    所以提倡组合,而少用继承.

    多态

    在面向对象的程序设计语言中,多态是数据抽象和继承之后的第三种基本特征.
    多态也称作动态绑定、后期绑定或运行时绑定.

    个人体会:

    优点

    多态通过分离做什么和怎么做,从另外一个角度讲接口和实现分离开来.
    多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序.

    多态的作用:

    1. 消除类型之间的耦合关系
    2. 可实现动态绑定,增加可扩展性.

    多态在设计模式中扮演着非常非常重要的角色.
    策略模式,里氏替换原则等就是多态的特性的最好阐述.

    缺点

    不懂的人可能会混乱..

    资料:

    Thinking in Java
    Effective Java

    另外欢迎关注:
    我的Github
    我的微博
    我的微信公众号:

    微信公众号

    相关文章

      网友评论

        本文标题:给设计原则打个基础

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