面向对象(一)

Day29 Python面向对象(一)

类的定义、实例的定义、类变量和实例变量、类方法和实例方法、静态方法、私有属性、保护属性、属性装饰器

08-22侠课岛    基础入门       

后端/后端/Python 由浅入深入门 6     0     212

总结

1.类和对象的定义

  • :用来描述具有相同的属性和方法的对象的集合;

  • 对象:通过类定义的数据结构实例;

  • 简单来说就是在python中,用属性表示特征,用方法表示技能,因而具有相同特征和技能的一类事物就是‘类’,对象是则是这一类事物中具体的一个;

2.实例的定义

  • 类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的属性可能不同;

3.什么是实例化

  • 类名加括号就是实例化,实例化会自动调用init()方法,可以用它来为每个实例定制自己的特征;

  • init()方法被称为类的构造函数或初始化方法,需要注意的是__init__()方法不能有return返回值;

4.类变量和实例变量

  • 类变量:类变量在整个实例化的对象中是公用的,也就是定义在类中且在函数体之外的变量(类变量通常不作为实例变量使用);

  • 实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,是定义在类里面的方法中的变量;

5.类方法

  • 使用装饰器@classmethod,第一个参数必须是当前类对象,该参数名一般约定为"cls",通过它来传递类的属性和方法(不能传实例的属性和方法);

  • 可以被实例对象和类对象调用;

6.实例方法

  • 第一个参数必须是实例对象,该参数名一般约定为"self",通过它来传递实例的属性和方法(也可以传类的属性和方法);

  • 只能由实例对象调用;

7.静态方法

  • 使用装饰器@staticmethod,参数随意,没有"self""cls"参数,但是方法体中不能使用类或实例的任何属性和方法;

  • 可以被实例对象和类对象调用;

8.私有属性和保护属性

  • 两个下划线开头的属性为私有属性,不能在类的外部被使用或直接访问;

  • 一个下划线开头的属性为保护属性,只有类实例和子类实例能访问,需通过类提供的接口进行访问;

9.属性装饰器

  • 第一种写法:使用 @property 装饰器,将类的方法变为属性属性;

  • 第二种写法:使用属性函数property(),直接把方法当属性来操作;

  • 一个property对象包含三个方法:getter, setter, deleter,当一个函数被@property装饰器修饰时,系统会自动创建一个包含对应访问函数的同名属性;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

6

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?