首页 > 编程语言 > 详细

Python 继承

时间:2018-12-17 21:54:07      阅读:178      评论:0      收藏:0      [点我收藏+]
# 子类自动拥有父类中除了私有内容外的其他所有内容
# 王思聪(熊猫TV) -> 王健林(年龄)
# 继承目的: 对父类进行扩展

class Foo:
    def getMoney(self):
        print("拿钱")
#

class Bar(Foo):
    pass
#
#
b = Bar()
b.getMoney() # 此时调用的是父类中的方法

# 当出现xxx是一种yyy类型的东西. 可以使用继承关系
# 猫是一种动物
class Animal:
    def dong(self):
        print("动物会动, 顾雍")
#
class Cat(Animal): # 子类其实是对父类的一种扩展
    def catchMouse(self):
        print("猫很皮, 抓老鼠")

c = Cat()
c.dong()
c.catchMouse()

a = Animal() # 父类的对象不能执行子类中的功能
a.dong()
a.catchMouse() # 创建的是动物. 动物不能执行抓老鼠



class Animal:
    def dong(self):
        print("动物会动, 顾雍")
#
class Cat(Animal): # 子类其实是对父类的一种扩展
    def dong(self): # 子类中写了和父类一模一样的方法. 这个叫方法的覆盖, 重写
        print("猫上蹿下跳")

    def catchMouse(self):
        print("猫很皮, 抓老鼠")

c = Cat() # 创建的是猫.
c.dong()  # 类中的方法的查询顺序. 先找自己, 然后再找父类


# python支持多继承
class Foo1:
    def getMoney(self):
        print(‘给你个大嘴巴子‘)

    def play(self):
        print("玩儿")

class Foo2:
    def getMoney(self):
        print(‘给多点儿‘)

class Bar(Foo1, Foo2): # 离当前类最近的是亲爹, 后面的是干爹.
    pass

b = Bar()  # 就近原则, MRO的C3算法
b.getMoney() # Foo2里的

  

Python 继承

原文:https://www.cnblogs.com/demons97/p/10134141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!