type
status
date
slug
summary
tags
category
icon
password

2.1 初识类:

特性:继承、封装、多态

类是面向对象编程的思想,举例来说,人有姓名、年龄、职业、工资等属性,以及人可以工作,健身,吃饭,睡觉等,我们可以把这些抽象出一个类,这个类下面有属性(姓名、年龄、职业、工资),有方法(工作,健身,吃饭,睡觉),我们所有人基本上都有这些属性,那么具体到某个人就是说是这个类的实例化对象。
 

2.2 创建和使用类

2.2.1

以下根据三个实例来理解类:
 

1.方法 __init__()

类中的函数称为方法;前面学到的有关函数的一切都适用于方法,就目前而言,唯一重要的调用方法的方式(回顾下之前函数调用的方式,并进行对比)。__init__()是一个特殊的方法(双下划线),每当你根据Dog类创建新实例时,Python都会自动运行它。
方法__init__()中含三个参数:self、name、age。在这个方法的定义中,self必不可少,还必须放最前面。因为Python调用这个__int__()方法来创建Dog实例时,将自动传入实参self,它是指向实例本身的引用,能够让实例类中的属性和方法

2.属性(类属性和实例属性)

定义:类中的变量即为属性,根据定义位置,属性分为类属性实例属性
类属性:定义在类中,函数体外的属性,可以在类的所有实例之间共享值。
实例属性:定义在累的方法中的属性,只作用于当前实例中。

2.2.2 根据类创建实例

可将类视为有关如何创建实例的说明。Dog类是一系列说明。下面来创建一个表示特定小狗的实例:
1.访问属性
要访问实例的属性,可使用句点表示法。在上面第一个print()语句中,我们编写了如下代码来访问my_dag的属性name的值:my_dog.name
 

2.3 使用类和实例

你可以用类来模拟现实中的很多场景。类编写好之后,你的大部分时间都花在使用根据类创建的实例上,你需要执行的一个重要任务就是修改实例的属性。你可以直接修改实例的属性,也可以编写方法以特定的方式进行修改。

2.3.1 创建Car类

2.3.2给属性指定默认值

类中的每个属性都必须有初始值,哪怕这个值是0或空字符串。如果设置默认值时,在方法__int__()内指定这种初始值是可行的;如果你对某个属性这样做了,就无需包含为它提供初识值的形参。

2.3.3修改属性的值

1.直接修改属性的值
2.通过方法修改属性的值
3.通过方法对属性的值进行递增

2.4 继承类

编写类时,并非总要从空白开始,如果你要编写的类是另一个现成类的特殊版本,可使用继承。

2.4.1子类的方法__init__()

1.首先是Car类的代码,创建子类时,父类必须包含在当前文件中,且位于子类前。
2.定义子类时,必须在括号内指定父类名称。方法__init__()接受创建Car实例所需的信息。
3.super()是一个函数,将父类和子类关联起来。让Python调用ElectricCar的父类的方法__init__(),让ElectricCar实例包含父类的所有属性。