python----多继承

多继承

class Base(object):

    """

    多继承在java中是不可用的,但是在python中是可以的。他的继承顺序有自己的一套遍历规范(这对数据结构有一定的要求哦)

 

    """

 

    def test(self):

        print("----Base")

 

 

class A(Base):

扫描二维码关注公众号,回复: 4733618 查看本文章

    def test1(self):

        print("-----test1")

 

 

class B(Base):

    def test2(self):

        print("-----test2")

 

 

class C(A, B):

    pass

 

 

c = C()

c.test1()

c.test2()

c.test()

"""

-----test1

-----test2

----Base

"""

class Base(object):

    """

    多继承在java中是不可用的,但是在python中是可以的。他的继承顺序有自己的一套遍历规范(这对数据结构有一定的要求哦)

 

    """

 

    def test(self):

        print("----Base")

 

 

class A(Base):

    def test1(self):

        print("-----test1")

 

 

class B(Base):

    def test2(self):

        print("-----test2")

 

 

class C(A, B):

    pass

 

 

c = C()

c.test1()

c.test2()

c.test()

"""

-----test1

-----test2

----Base

"""

注意点:

class Base(object):

    """

    多继承在java中是不可用的,但是在python中是可以的。他的继承顺序有自己的一套遍历规范(这对数据结构有一定的要求哦)

    要尽量避免父类有相同的方法名的情况(否则得考研你的数据结构啦)

 

    """

 

    def test(self):

        print("----Base")

 

 

class A(Base):

    def test(self):

        print("-----A")

 

 

class B(Base):

    def test(self):

        print("-----B")

 

 

class C(A, B):

    pass

    # def test(self):

    #    print("-----C")

 

 

c = C()

c.test()

 

print(C.__mro__)

"""

-----A

(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class '__main__.Base'>, <class 'object'>)

"""

如有疑问,请发邮件:[email protected]


github:https://github.com/wangrui0/
我是一个java工程师,人工智能据只是爱好哦,请记住

猜你喜欢

转载自blog.csdn.net/qq_35524586/article/details/85528671
今日推荐