首页 > 代码库 > 面向对象之继承

面向对象之继承

单继承:优先寻找自己的区间,没有就去父类找

技术分享
class F1:
    """父类,基类"""

    def show(self):
        print(show)

    def foo(self):
        print(self.name)


class F2(F1):
    """子类,派生类"""

    def __init__(self, name):
        self.name = name

    def bar(self):
        print(bar)

F2(alex).bar()
F2(alex).show()     # 如果自己没有show方法,就去父类找
F2(alex).foo()        # 自己的属性,可以被父类的方法使用,因为继承本质上相当于把父类的属性和方法写到自己的区间
View Code

 

 

多继承:跟单继承很相似,当父类不止一个并且父类的方法同名时,class c3(c1,c2), c1类的优先级更高

            当没有相同的父类时,用深度优先,

技术分享

 

否则,深度优先到相同的父类,然后返回,直到最后再遍历这个相同的父类

技术分享

 

 

继承思想:

技术分享

 

面向对象之继承