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

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

作者: 抬头挺胸才算活着 | 来源:发表于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章 构建对象

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

相关文章

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

    第1章 面向对象概念介绍 OO和过程式程序设计的区别在OO设计中,属性和行为都包含在一个对象中,而在过程式程序设计...

  • 面向对象的编程思想

    本文为极客时间《设计模式之美》的读书笔记 面向对象编程 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织...

  • 面向对象的基本特性

    算是读书笔记吧 极客时间--设计模式之美 面向对象 面向对象编程 -- OOP(Object Oriented P...

  • Kotlin 快速入门

    这篇文章是给有过 Java 或其他面向对象编程语言开发经验的朋友看的。省略了对很多面向对象编程的解释,希望大家能用...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • 全面理解面向对象的JavaScript

    面向对象是一种编程思想,Java、C#等都以“类”作为面向对象的实现方式。从而可能阻碍大家对于面向对象编程的语言的...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • Swift函数式编程

    什么是函数式编程 我们知道面向过程编程,面向对象编程,面向协议编程...大家听说过面向函数编程吗? 百度百科 函数...

网友评论

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

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