主要内容 #
1. “类”的概念 #
“类”是一个抽象的概念,比如,我们可以这样来定义“类”:
将“人”定义为一个“类”
将“动物”定义为一个“类”
将“植物”定义为一个“类”
将“基础学科”定义为一个“类”
将“编程语言”定义为一个“类”
……
所以,“类”可以理解为是具有某些相同属性的一个集合。
2. “对象”的概念 #
在Python中,一切皆对象。
“对象”,在编程中用来表示某个“类”当中的一个实体。
比如,我们可以这样来定义“对象”:
“男生”可以定义为“人”这一类的一个实体。(当然,“男生”也可以定义为一个“类”)
“女生”可以定义为“人”这一类的一个实体。(当然,“女生”也可以定义为一个“类”)
“猫”可以定义为“动物”这一类的一个实体。(当然,“猫”也可以定义为一个“类”)
“花”可以定义为“植物”这一类的一个实体。(当然,“花”也可以定义为一个“类”)
“数学”可以定义为“基础学科”这一类的一个实体。(当然,“数学”也可以定义为一个“类”)
“Python”可以定义为“编程语言”这一类的一个实体。(当然,“Python”也可以定义为一个“类”)
……
所以,“对象”可以理解为具有某些相同属性的一个集合中的一个元素。
3. “面向对象编程”的概念 #
面向对象编程,是一种封装的思想,它可以更好地模拟真实世界里的事物(将其视为对象)。
并把描述特征的数据和代码块(函数)封装到一起。
比如说,可以先创建一个“人类”的概念,然后在这个概念当中再创建具体的某一个人(即一个对象),
或者多个不同的人(即多个对象)。
最后再定义某个人可以做什么事(即这个人可以实现什么样的功能)。
4. “面向对象”的常用术语 #
- 类:可以理解是一个模板,通过它可以创建出无数个具体实例。(比如“人类”)
- 对象:类并不能直接使用,通过类创建出的实例(又称对象)才能使用。(比如具体的“某个人”)
- 属性:类中的所有变量称为属性。(比如人的大脑,四肢,五官等等)
- 方法:类中的所有函数通常称为方法。(比如大脑有思考的功能,眼睛可以观看世界等等)
- 常用名称:class,init,self,object等在后续的章节中会解释说明。
- 三大特性:封装,继承,多态这三大特性也会在后续的章节中解释说明。
5. 面向对象的实现 #
面向对象是通过定义类(关键字:class)来定义,类是具有相同特征的一类事物
如下是class的定义框架
class ClassName: def __init__(self): # 构造方法 self.instance_var = "" # 实例变量 class_var = "" # 类变量,即属性 def func(self): #类函数,即方法 ''' 实现功能的代码块 '''
举个例子,若在某游戏中设计一个乌龟(turtle)的角色。
使用面向对象的思想会更简单,可以分为如下两个方面进行描述:
1. 从乌龟的表面特征(属性)来描述,例如,绿色的、有 4 条腿、重 10 kg、有外壳,等等
2. 从所具有的的行为(方法)来描述,例如,它会爬、会吃东西、会睡觉、会将头和四肢缩到壳里,等等
代码描述如下:
''' 将乌龟用代码来表示, 乌龟的表面特征(属性)可以用变量来表示 乌龟的行为特征(方法)可以用函数来表示 ''' class turtle: # 定义一个turtle类 #定义属性 bodyColor = "绿色" #颜色是绿色 footNum = 4 #有4条腿 weight = 10 #重 10 kg hasShell = True #有外壳 #定义方法 #会爬 def crawl(self): print("爬行") #会吃东西 def eat(self): print("吃东西") #会睡觉 def sleep(self): print("睡觉") #会缩到壳里 def protect(self): print("缩进了壳里") ''' 注意:以上代码仅是为了演示面向对象的编程思想,具体细节后续会做详细介绍。 '''
6. 小结 #
- “类”可以理解为是具有某些相同属性的一个集合
- “对象”可以理解为具有某些相同属性的一个集合中的一个元素
- 面向对象编程,是一种封装的思想,它可以更好地模拟真实世界里的事物(将其视为对象)
- 面向对象常用术语有:类,对象,属性,方法
习题 #
- 无