Python学习第二天:面向对象之继承

  继承实现代码的重用,相同的代码不需要重复的编写。

1.继承的语法

'''
专业术语:
Dog类是Animal类的子类,Animal类是Dog类的父类,Dog类从Animal类继承
Dog类是Animal类的派生类,Animal类是Dog类的基类,Dog类从Animal类派生
'''


class Animal:
    def eat(self):
        print("")

    def drink(self):
        print("")

    def run(self):
        print("")

    def sleep(self):
        print("")

class Dog(Animal):
    def bark(self):
        print("汪汪汪")


class Xiaotianquan(Dog):                    ###继承的传递性
    def fly(self):
        print("神仙")


wangcai = Xiaotianquan()


wangcai.eat()
wangcai.run()
wangcai.drink()
wangcai.sleep()
wangcai.bark()
wangcai.fly()
继承的语法

 

2.继承中方法的重写

'''
专业术语:
Dog类是Animal类的子类,Animal类是Dog类的父类,Dog类从Animal类继承
Dog类是Animal类的派生类,Animal类是Dog类的基类,Dog类从Animal类派生
'''


class Animal:
    def eat(self):
        print("")

    def drink(self):
        print("")

    def run(self):
        print("")

    def sleep(self):
        print("")

class Dog(Animal):
    def bark(self):
        print("汪汪汪")


class XiaoTianQuan(Dog):                    ###继承的传递性
    def fly(self):
        print("神仙")

    def run(self):
        print("跑着跑着就飞了")            ###方法的重写


doudou = XiaoTianQuan()


doudou.eat()
doudou.run()
doudou.drink()
doudou.sleep()
doudou.bark()
doudou.fly()
View Code

 

3.扩展父类的方法

'''
专业术语:
Dog类是Animal类的子类,Animal类是Dog类的父类,Dog类从Animal类继承
Dog类是Animal类的派生类,Animal类是Dog类的基类,Dog类从Animal类派生
'''


class Animal:
    def eat(self):
        print("")

    def drink(self):
        print("")

    def run(self):
        print("")

    def sleep(self):
        print("")

class Dog(Animal):
    def bark(self):
        print("汪汪汪")


class XiaoTianQuan(Dog):                    ###继承的传递性
    def fly(self):
        print("神仙")

    def run(self):
        print("跑着跑着就飞了")            ###方法的重写

    def bark(self):
        print("--------------------------")
        super().bark()                                ###使用super()调用父类中方法,从而实现扩展父类
        #Dog.bark(self)                              ###使用父类名.方法(self) 调用父类中的方法(不推荐使用)
        print("##########################")
doudou = XiaoTianQuan()



doudou.eat()
doudou.run()
doudou.drink()
doudou.sleep()
doudou.bark()
doudou.fly()
View Code

 

4.多继承

注意事项:如果父类之间存在同名的属性或方法,应该尽量避免使用多继承

class Aaa:
    def test1(self):
        print("我是爸爸1")


class Bbb:
    def test2(self):
        print("我是爸爸2")


class Ccc(Aaa,Bbb):
    #多继承可以让子类对象,同时具有多个父类的属性和方法
    pass


#创建子类对象
c = Ccc()

c.test1()
c.test2()
View Code

 

 

  

转载于:https://www.cnblogs.com/west-yang/p/9899086.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值