python基础之继承

首先我们需要定义一个父类car(),厘米定义了汽车的一些属性和方法,包含里程,油箱和描述

car.py文件

class car():
    def __init__(self,licheng,youxiang,describle):
        self.licheng = licheng
        self.youxiang = youxiang
        self.describle = describle


    def describles(self):

        print("汽车的里程为{0},续航为{1},{2}".format(self.licheng,self.youxiang,self.describle))


    def xingshi(self,licheng,youxiang):
        self.licheng +=licheng
        if self.youxiang>youxiang:
            self.youxiang -=youxiang

    def descs(self):
        print("汽车的里程为{0},续航为{1},{2}".format(self.licheng, self.youxiang, self.describle))

然后需要定义一个子类去继承父类

electric_car.py文件

from car import car

class electric_car(car):
    def __init__(self,licheng,youxiang,describle,electric_licheng):
        super(electric_car,self).__init__(licheng,youxiang,describle)
        self.electric = electric_licheng

    #重写父类的方法
    def describles(self):
        print("汽车的里程为{0},续航为{1},{2}".format(self.licheng, self.electric, self.describle))
        return

    #重写父类的方法
    def xingshi(self,licheng,electric_licheng):
        self.licheng+=licheng
        self.electric -=electric_licheng



if __name__ == '__main__':
    ele = electric_car(0,100,"不怕奔驰和宝马,就怕大众带字幕",30)
    ele.xingshi(30,20)
    ele.describles()
    ele.descs()

这里定义的子类electric_car(car),括号中必须包含继承的父类的名称,

方法__init__(self,licheng,youxiang,describle,electric_licheng)接受创建electric_car类所必须的信息

通过super(electric_car,self).__init__(licheng,youxiang,describle)类初始化父类car中的__init__(),进行赋值

函数super()包含2个实参:子类名和对象self。为帮助python将父类和子类关联起来,这些实参必不可少。

另外,在python 2.7中使用继承时,务必在定义父类时在括号内指定object。

 

重写父类的方法时,我们必须要与父类的名称保持一致,并且传递的参数数量也需要保持一致性。

我们可以直接在子类的方法中调用父类的属性和方法,例如 self.licheng,ele.descs() 就是父类定义的属性和方法

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值