通过前面的学习我们已经知道, 面向对象编程(Object-Oriented Programming,简称OOP),是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了 数据和操作数据的函数(方法)。
而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
类的理解
在 python 中所有类型的数据都可以看成对象, 包括我们我们以前学习的所有的内置类型int
, float
等.
像这些 int
, float
, list
这些数据类型, 就是我们面向对象中的类
我们可以根据需要自定义很多类型出来, 这些自定义的类型也是我们面向对象中的类
对象的理解
我们天天说对象, 到底该怎么去理解对象?
a = 3
变量 a
赋值为整数 3, 这里的 3 就是一个int
类型的对象.
nums = [2, 4, 1]
这里的 [2, 4, 1]
就是list
类型的列表对象.
可以这么说, 在 python 中任何类型的数据数据都是对象.(和其他语言 c++, java 等不太一样, 他们有一些不是对象的基本数据类型)
对象其实就是对数据和操作数据的方法(函数)进行的封装
类与对象的关系
类与对象的关系, 就是我们每个人同人类的关系一样.
人类是对每个具体的人的共同的特点的抽象. 比如都有手脚, 耳朵, 还都可以吃饭, 娱乐, 男人还可以去大宝剑. 人类就是编程语言中的类型.
而每个人是人类的一个个的具体的实现. 每个人都是编程语言中的一个对象
类是对对象的抽象描述, 而对象是类的具体实现. 他们是抽象与具体的关系.
例如:
汽车制造图纸和一个个的汽车.
图纸就是类, 汽车就是对象
先有对象还是先有类
看情况:
在做面向对象分析的时候, 一般是先有对象, 然后把对象的共性抽象出来, 然后就形成了类.
编写代码的时候, 一般是先完成类的编写, 然后在需要的时候创建对象就可以了.