跳至正文
View Categories

1 min read

主要内容 #

  • “类”的概念
  • “对象”的概念
  • “面向对象编程”的概念
  • 面向对象的常用术语
  • 面向对象的实现
  • 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. 小结 #

    • “类”可以理解为是具有某些相同属性的一个集合
    • “对象”可以理解为具有某些相同属性的一个集合中的一个元素
    • 面向对象编程,是一种封装的思想,它可以更好地模拟真实世界里的事物(将其视为对象)
    • 面向对象常用术语有:类,对象,属性,方法

    习题 #