知行编程网知行编程网  2022-02-28 06:00 知行编程网 隐藏边栏 |   抢沙发  19 
文章评分 0 次,平均分 0.0

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

 

流程:

->新建一个汽车类

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

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

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

 

 

知识要点:

1)子类的继承

2)子类的初始化

3)子类的重载

 

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

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

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

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

趣谈Python类继承

>>

2016 Audi A4

This car need a gas tank!

 

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

  • 增加一个里程数信息
  • 增加读里程数的方法
  • 更新里程数的方法

趣谈Python类继承

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__()

趣谈Python类继承

 

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

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

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

趣谈Python类继承

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

 

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

 

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

  • 添加电池容量的变量
  • 获取电池容量的方法

趣谈Python类继承

第四步:类方法的重载

 

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

趣谈Python类继承

子类会调用自己的fill_gas_tank方法

 


好了Python中的类继承就讲到这里啦,希望能给初学者一些启发,若有什么不懂的,也可以留言跟我探讨交流.

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享