面向对象的Python:类的继承

健谈始于戊戌年
2022-05-18

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

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

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

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

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

  • 陆地交通工具

  • 水中交通工具

  • 空中交通工具

  • 太空交通工具

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

  • 轮式交通工具

  • 履带交通工具

  • 气垫交通工具

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

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

  • 哺乳动物

  • 爬行动物

  • 鸟类

  • 鱼类

  • 两栖动物

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

免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。

精彩评论

我们需要你的真知灼见来填补这片空白
发表看法