python中关于继承以及相关代码

继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

class Animal(object):   #编写Animal类
    def run(self):
        print("Animal is running...")

class Dog(Animal):  #Dog类继承Amimal类,没有run方法
    pass

class Cat(Animal):  #Cat类继承Animal类,有自己的run方法
    def run(self):
        print('Cat is running...')
    pass

class Car(object):  #Car类不继承,有自己的run方法
    def run(self):
        print('Car is running...')

class Stone(object):  #Stone类不继承,也没有run方法
    pass

def run_twice(animal):
    animal.run()
    animal.run()

run_twice(Animal())
输出:
Animal is running...
Animal is running...
run_twice(Dog())
输出:
Animal is running...
Animal is running...
run_twice(Cat())
输出:
Cat is running...
Cat is running...
run_twice(Car())
输出:
Car is running...
Car is running...
run_twice(Stone())
输出:
AttributeError: 'Stone' object has no attribute 'run'

还有一种写法,但父类和子类中定义功能函数名字需要不同。如下:

class Animal(object):   #编写Animal类
    def run(self):
        print("Animal is running...")

class Cat(Animal):  #Cat类继承Animal类,有自己的run方法
    def runing(self):#改动:run改为runing
        print('Cat is running...')
c=Cat() #定义一个c等于cat类
c.runing()#调用cat中runing的功能
输出:Cat is running...
c.run#调用Animal中run的功能
输出:Animal is running...
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值