前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】面向对象编程—让你彻底理解类与对象

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

作者头像
阿黎逸阳
发布2021-03-24 13:38:32
5900
发布2021-03-24 13:38:32
举报
文章被收录于专栏:阿黎逸阳的代码

很多同学对面向对象编程只闻其名,未解其意。或者有部分了解,但一知半解。

本文致力于让大家从原理出发,彻底理解面向对象中的类和对象。

一、类与对象的原理

1 类与对象的定义

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

对象:类的具体实例。

2 类与对象的关系

首先来看下简单类结构的定义:

伪代码如下:

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

总体而言类是对象结构的定义和描述(类是对象的抽象),而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。

比如我们可以通过狗的特征来抽象描述狗这个类,但是对于不同的狗,如狗1、狗2、狗3,就是狗这个类中的具体对象。

3 类名称的命名规则

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

4 属性的定义

属性是类中存储数据的空间,可以是一个简单变量,也可以是一个复杂类型的数据,如列表、字典等。

类的属性分为两种,一种是类属性,另一种是实例属性。

类属性:定义在类中,但是在所有方法之外的属性。

实例属性:定义在类的方法中,以“self.变量名”的方式定义的变量。

5 方法的定义

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

二、类与对象的实例

1 定义一个狗的类

平常我们见到狗一般有两个眼睛、一个嘴巴、一个口、一条尾巴、四条腿,会吃东西会叫。

我们把狗的这些特征抽象成类如下:

代码语言:javascript
复制
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中实现一遍

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿黎逸阳的代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档