打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
趣谈Python类继承

这是菜鸟学python的第40篇原创文章

阅读本文大概需要7分钟

        今天我们来了简单说一下Python类的继承,我们会通过一个汽车类的例子一步一步分解开来,带领大家来学习Python类的继承,我把这个复杂的概念分解成4步来说.

流程:

->新建一个汽车类

->给汽车类添加属性和方法

->增加一个电动汽车子类,继承汽车类

->给电动车添加属性和方法,然后重载父类方法

知识要点:

1)子类的继承

2)子类的初始化

3)子类的重载

第一步:我们先创建一个car的类

1)这个类需要存储一些汽车的信息列如:厂家,型号,年代等等

2)需要有一个简单的方法来获得这些信息

3)需要有一个方法说明这个是汽车是用汽油



>>

2016 Audi A4

This car need a gas tank!

是不是有点简单,我们再给汽车添加点东西

  • 增加一个里程数信息

  • 增加读里程数的方法

  • 更新里程数的方法


my_new_car = Car('audi', 'a4', 2016)

print my_new_car.get_descriptive_name()

my_new_car.update_odometer(100)

my_new_car.read_odometer()

>>

2016 Audi A4

This car has 100 miles on it

第二步:增加一个电动汽车子类

我们增加一个电动汽车的类ElectricCar,因为电动汽车也是汽车的一种,所以我们会继承car类,注意子类初始化有两种方法

1)先看第一种:若父类Car是经典类,子类的初始化的时候,用传统的调用直接用父类调用__init__()



2)再看第二种:若父类Car是新式类(就是父类继承object类),子类的初始化的时候

除了直接用父类调用__init__(),还可以用super这个关键字

super()会带两个参数,第一个是子类的类名,第二个是self参数.


有同学说为啥要用super(),因为super可以避免一些类继承的潜在问题,特别是在多重继承上,关于super我们这边先不展开讲.大家切记,千万不要把super和传统的调用混在一起用.

第三步:添加子类特有属性

那么我们子类是不是应该有自己的特有属性和方法的,好我们加点东西

  • 添加电池容量的变量

  • 获取电池容量的方法



第四步:类方法的重载

如果我们子类有一个名字和父类一样的方法,Python会自动判断对象的类型去调用对应的方法.比如我们子类里面也有一个叫fill_gas_tank的方法,会怎么样呢:


子类会调用自己的fill_gas_tank方法

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
神级程序员花7天整理面向对象资料!精确到每一步!
python面向对象(父类和子类继承)
Python基础教程:类的派生
深入理解java的构造器
Java面向对象详解
类的继承多态
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服