类的继承
写在前面,本文大部分内容是来自于Crossin的编程教室的内容:(不想写了,心态要崩了,就随便写,自己能看懂就成)
今天学习的是关于类的继承的相关知识,有不完善的地方以后再来补充:
这同样是一个计算行驶时间的问题,题中有两种交通工具,一种是Car,另一种是Bike,对于Car要求求出行驶时间的同时还有计算出油耗,而对于Bike则只要求计算行驶时间。
解决问题的大致思路是先用同一种方法计算出两种交通工具所需要的时间,再对于Car专门计算油耗。
以下是解决的代码:(代码来自Crossin的编程教室)
解释:
首先创建一个类“Vehicle”,表示某种车,包含了汽车和自行车所共有的东西,Vehicle类被称为基本类或超类。
__init__是python内置的一个方法,可以在使用Vehicle时,把Vehicle中的属性绑定给子类。
创建一个Bike的类,()中的内容表示Bike类是继承自那一个类,例子中的是继承自Vehicle类中的属性和方法。
创建一个Car类,继承了Vehicle类中的属性和方法
重新定义__init__,(注意:必须重新定义来替换掉Vehicle中的__init__)在变量中增加一个fuel(这里的调用超类的方法时好像要给self提供一个参数值,因为我们之前调用方法时是通过对象加函数名的方式调用的,而此处是通过类名加函数名调用的,额,还要再看看)
使用“类名.函数名”的方式来调用超类中的方法,(斗胆猜测一下,此时的__init__已经成为了一个普通函数了)
定义一个新的drive方法,增加一个变量distance
使用同样的方法调用超类中的drive方法
增加一个输出
输入数据!