OOP 学习笔记

为何使用类:

使用类不仅仅是为了代码重用,它提供了描述现实世界问题结构和它们之间关系的非常有用的模型。包括两个方面:继承和组合。

我们的知识很大一部分是建立在分类的层次结构之上:将现实世界按各种规则分门别类的分解剖析。掌握之后又通过各种需要组合起来,反过来进一步理解这个世界,产生我们的智慧。

具体到类

  • 它是一种定义新种类的方式。
  • 从程序设计角度看,它又和函数和模块相似——是封装逻辑和数据的另一种方式。
  • 同时类也定义新的命名空间,这点和模块很像。
  • 它有和其它程序组成单元相比有三个显著的特点:
    • 多重实例:类好比是有个模具,每次调用类都会建立一个有自己命名空间的新对象,这个对象能够读取类的属性,并有自己的命名空间来存储自己的数据。
    • 继承:通过继承机制,类建立命名空间的层次结构,可以在这个层次结构中重新定义类的属性从而扩展类。
    • 运算符重载:类通过特定的协议方法,可以定义对象来响应内置类型上的几种运算。

相比C++和Java,Python 的OOP得到了简化。在Python中大多数OOP都可以简化为一个表达式:object.attribute。 当我们使用object.attribute这个表达式读取类的属性,调用对象的方法时,会产生一个动作——启动搜索对象连接树:从下到上,从左到右地搜索对象树,找到这个attribute首次出现的对象。

也就是说,取出一个属性就是简单地搜索一颗“树”。这个搜索过程(机制 ...

更多内容 »»