【Python】面向对象编程—让你彻底理解类与对象

​很多同学对面向对象编程只闻其名,未解其意。或者有部分了解,但一知半解。本文致力于让大家从原理出发,彻底理解面向对象中的类和对象。

在这里插入图片描述

  

一、类与对象的原理

1 类与对象的定义

类(class):用来描述有相同的属性和方法的对象的集合,是对象属性和行为的描述。比如:人、狗、猫等都可以抽象成类。
  
对象:类的具体实例。
  

2 类与对象的关系

首先来看下简单类结构的定义:
  
在这里插入图片描述

伪代码如下:
  

class 类名称:
    属性1的定义
    属性2的定义
    ....
    属性n的定义
    def 方法1(self, [其他参数]):
        方法体中的代码
    def 方法2(self, [其他参数]):
        方法体中的代码
        ....
    def 方法n(self, [其他参数]):
        方法体中的代码   

总体而言类是对象结构的定义和描述(类是对象的抽象),而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。比如我们可以通过狗的特征来抽象描述狗这个类,但是对于不同的狗,如狗1、狗2、狗3,就是狗这个类中的具体对象。
  

3 类名称的命名规则

 ①:只能包含字母、数字、下划线,且不能以数字开头。
  
 ②:不能是系统关键字或保留字。
  
 ③:类名称首字母通常是大写。
  
 ④:类名称中有多个单词时,通常采用驼峰命名法,如StudentClass。
  
 ⑤:尽量做到见名知意。
  

4 属性的定义

属性是类中存储数据的空间,可以是一个简单变量,也可以是一个复杂类型的数据,如列表、字典等。类的属性分为两种,一种是类属性,另一种是实例属性。
  
类属性:定义在类中,但是在所有方法之外的属性。
  
实例属性:定义在类的方法中,以“self.变量名”的方式定义的变量。
  

5 方法的定义

①:方法是类中定义的函数,对数据进行处理。
  
②:至少有一个形参self(可另取名)。
  
③:其他方面与普通函数的定义相同。
  
  

二、类与对象的实例

1 定义一个狗的类

平常我们见到狗一般有两个眼睛、一个嘴巴、一个口、一条尾巴、四条腿,会吃东西会叫。我们把狗的这些特征抽象成类如下:

class Dog:
    eyes = 2
    #属性1的定义
    nose = 1
    #属性2的定义
    mouth = 1
    #属性3的定义
    tail = 1
    #属性4的定义
    legs = 4
    #属性5的定义
    def eat(self):
        print("最爱啃骨头")
    #方法1
    def bark(self):
        print("汪汪汪")
    #方法2

  

2 使用类定义对象的格式

使用类定义对象的方法一般有如下两种:

① 类名(),比如Dog()。

② 对象名=类名(),比如dog1=Dog()。

  

3 类中成员的访问

类中成员的访问分为访问属性和访问方法两种。
  
访问属性
  
方法一:类名.属性名,比如Dog.legs。
  
方法二:对象名.属性名,比如dog1.legs。
  

访问方法

对象名.方法名(),比如dog1.eat()。
  
至此,面向对象中的类和对象已全部讲解完毕,感兴趣的同学可以自己到Python中实现一遍。

  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

长按(扫一扫)识别上方二维码学习更多Python和建模知识,让你的学习和工作更出彩。

Guess you like

Origin blog.csdn.net/qq_32532663/article/details/114588104