Py学习  »  Python

面向对象的Python:类的继承

健谈始于戊戌年 • 1 年前 • 110 次点击  

Class这个英语单词的含义很多,可以是班级、阶级等等。不过在面向对象的程序设计中,这个单词的意思是种类,也就是我们说的类。接下来,我们会通过几个例子来说明类的含义。

 

首先,我们想一下交通工具。貌似交通工具有一个共同的特征:可以运动。但是,猫和狗也会动。看起来我们对交通工具的定义还不够具体,需要改进。我们再来定义一次:交通工具是人工发明的运输设备,通过人驾驶,在物理作用下能够运动。

 

如果这么说的话,那么猫和狗就交通工具了。但是如此定义交通工具过于宽泛,我们还需要具体一些。用面向对象程序设计的语言来说,就是要定义子类(Subclass)。同子类对应的就有父类,也叫做超级类(Superclass)。

 

和人类的遗传一样,子类可以继承父类的特征。父类和子类之间的结构有点像金字塔,父类处在顶端,子类处在下面。

 

再回到我们交通工具的例子。现在我们已经可以说出一个交通工具父类下面的子类了。比方说

  • 陆地交通工具

  • 水中交通工具

  • 空中交通工具

  • 太空交通工具


我们还可以进一步给陆地交通工具定义子类。例如

  • 轮式交通工具

  • 履带交通工具

  • 气垫交通工具


当然,对于水中交通工具、空中交通工具、太空交通工具,也可以定义子类。这个读者可以自己思考一下。

 

我们再来看一个生物分类的例子。父类是动物,子类可以包括

  • 哺乳动物

  • 爬行动物

  • 鸟类

  • 鱼类

  • 两栖动物

 

同样,我们继续定义哺乳动物的子类。这就包括野生哺乳动物和家养哺乳动物。如果你还记得中学里学到的生物知识,就可以定义爬行动物、鸟类、鱼类和两栖动物的子类。



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/134460
 
110 次点击