美文网首页
《写给大家看的面向对象编程书》读书笔记

《写给大家看的面向对象编程书》读书笔记

作者: 抬头挺胸才算活着 | 来源:发表于2019-12-23 20:36 被阅读0次

    第1章 面向对象概念介绍

    • OO和过程式程序设计的区别
      在OO设计中,属性和行为都包含在一个对象中,而在过程式程序设计中,属性和行为是分开的。

    • 过程是程序设计的缺点
      如果数据是全局的,修改中这些数据很简单,对数据的访问时非受控且不可预测的。
      对谁能访问数据无从控制。

    • 封装
      封装就是把属性和方法合并到同一个实体中,这样就能控制对Math对象中数据的访问,其他对象不允许直接访问成员变量。封装完之后,客户想访问对象的成员变量,需要通过对象来进行访问,而且很多时候都只能用方法的那些操作来操作数据。
      封装是一个对程序打包的过程,将各个类划分为两个不同的部分:接口和实现。

    • 类是对象模板

    • 继承实现了代码重用
      结构化设计调用函数实现了代码的重用,OO中继承也实现了代码重用。

    • 继承与组合
      继承是is-a的关系,组合是has-a的关系。
      汽车与发动机是has-a的关系,但不是is-a的关系

    • 多态
      多态是指类似对象可以采用不同的方式对相同的消息(函数调用)做出响应

    第2章 如何以对象方式思考

    • 要培养善于完成OO思维过程的敏锐判断力,要注意3个重要方面
      了解接口和实现之间的区别
      以更抽象的方式思考
      近可能为用户提供最小接口

    • 什么是更抽象的思考方式?
      “送我去机场”比“左转”,“右转”抽象

    • 抽象与可重用是什么关系?
      抽象使得更加可重用,“送我去机场”在任何城市都可以说,但是“左转”,“右转”换了城市可能就不灵了,毕竟不同的城市去机场的路径不同。

    第5章 类设计指导原则

    • OO设计的妙处
      OO将数据和行为封装到对象中,对象之间相互交互。这种思想的妙处在于,类能够对真实对象和真实对象之间的交互进行建模。
      第一次转向OO开发时,许多人仍然倾向于采用一种结构化的方式思考,主要原因是类只包含行为而没有数据。

    第7章 掌握继承和组合

    • 继承会破坏封装
      对父类进行修改的时候会影响到其子类,对父类实现的修改并不一定完全封装在父类中。为了减少这种情况所产生的风险,使用继承时一定要坚持严格的is-a条件。如果子类确实是父类的一种特殊化,那么父类的修改很有可能会以自然的、可预见的方式影响子类。

    • 抽象类和使用接口的区别
      继承是一种严格的is-a关系,但接口不是。接口可用于没有关联的类,比如nameable可用于任何不同的类。

    第9章 构建对象

    • 聚集与关联
      是否关联非常紧密,是某个对象的一部分
      聚集:狗和狗头
      关联:狗和主人

    相关文章

      网友评论

          本文标题:《写给大家看的面向对象编程书》读书笔记

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