python论面向对象和JVM内存模型_python高淇400集

神速熟悉面向对象

  1. 表格结构和类结构

我们在现实生活中,思考问题、发现问题、处理问题,往往都会用“表格”作为工具。 实际上,“表格思维”就是一种典型的面向对象思维。 实际上,互联网上所有的数据本质上都是“表格”。我们在这里通过从表格表示数据开 始,引入对象和类。大家就会神奇的发现,原来“表格就是对象”。

以公司雇员表为例:

python论面向对象和JVM内存模型_python高淇400集_02

上面这个雇员表,可以将公司所有员工信息“结构化”、“标准化”,让管理者可以方 便的进行统计和管理。

我们也经常将表中的“列”,叫做“字段”,英文中统一叫做“field”。显然,field 定义了表的结构。我们可以通过增加新的 field(列),让表中所有的行增加数据:

python论面向对象和JVM内存模型_JAVA_03

面向对象编程中,类对应表的结构(表的 field),我们可以定义出“雇员类”:

python论面向对象和JVM内存模型_数据_04

通过上图,可以看到,雇员类和雇员表的结构完全一样。只不过,雇员类增加了数据的类型 而已。

2. 表格的动作和类的方法 

每个公司的雇员都要有相关的动作。比如:所有雇员每天的工作标准动作有:

1. 参加晨会,领取当天任务 2. 午休 3. 提交工作日志

python论面向对象和JVM内存模型_python高淇400集_05

新增的列“雇员动作说明”,显然是对所有的雇员都有用,每个雇员都有这个动作。

3. 对象对应“表中的行数据” 

前面两节,我们主要讲解的是“表结构和类的对应关系”。那么,表中的数据和什么对 应呢?表中的一行一行的数据,都在表结构的约束范围内,大家的结构都是相同的。如下表:

python论面向对象和JVM内存模型_python高淇400集_05

显然,每一行数据都有“姓名”、“基本工资”等“列”,也都有标准的“晨会动作”。 

在面向对象编程中,下面三句话大家记住:

1. 表结构对应:类结构 

2. 一行数据对应:一个对象

3. 表中所有数据对应:这个类的所有对象