面向对象之继承

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

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类的优先级更高

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

 

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

 

 

继承思想:

 

posted @ 2016-12-02 18:43  Yu-feng  阅读(110)  评论(0编辑  收藏  举报