
上QQ阅读APP看书,第一时间看更新
3.2.2 类的定义和实例
在定义类时,可以从一个父类中继承产生新类,也可以没有继承,创建一个全新的类。类的定义方法如下:

类定义中各项的意义如下:
- class是关键字,表示开始定义类。
- className是类的类名,起名规则可以参考变量的起名规则。
- 括号“()”是可选的,如果没有父类,可以不写括号。
- fatherClass是继承的父类,可以有0个、1个或多个父类,多个父类之间用逗号隔开。如果是全新的类,一般没有父类,也可以用类object作为父类。object类中定义了一些常用的方法。
- 冒号“:”是必需的符号,说明后续内容是类的具体定义,后续内容需要缩进。
- """类说明"""用于说明类的用途等信息,可以通过help(className)函数或“实例名.__doc__”显示出说明信息。
- 类语句块用于定义类的属性,是可选的。
- def __init__(self[,parameter1,parameter2,...,parameterN])是类实例化新对象时,新对象的初始化,是可选的。当用类新创建一个对象时,会自动执行__init__()函数下的初始语句块(__是两个下画线)。
- self表示类的实例本身。在类中定义属于实例的属性和方法时,都需要加self,类中的函数定义时,第1个参数一般都是self。在往函数传递实参数据时,不需要给self传递数据。
- deffunctionName(self[,para1,para2,...,paraN])定义类中的函数,类中可以定义多个函数(方法),实现类的不同功能。
定义完类后,可以用类来创建实例。用类创建实例的格式是:
instanceName=className([parameter1,parameter2,...,parameterN])
其中instanceName是实例名称,取名规则可参考变量的取名规则;parameter1,parameter2,...,parameterN是实参,给类中的初始化函数__init__()传递数据,用于初始化实例的一些属性,可以用关键字形式传递数据。下面是用前面的汽车类定义汽车实例的例子:
