zoukankan      html  css  js  c++  java
  • Python高级语法-多继承MRO相关-多继承顺序(4.5.1)

    @

    1.说明

    使用类的魔法方法__mro__
    可以查看他的父类调用顺序
    还有调用父类的构造方法的时候,使用super调用,里面有C3算法支持,不会重复调用相同的祖先类

    2.代码

    
    class Parent(object):
        def __init__(self,name,*args,**kwargs):
            print("Parent的init开始调用")
            self.name = name
            print("Parent的init结束调用")
    
    
    class Son1(Parent):
        def __init__(self,name,gender,*args,**kwargs):
            print("Son1的init开始调用")
            self.gender = gender
            super().__init__(name,*args,**kwargs)
            print("Son1的init结束调用")
    
    
    
    class Son2(Parent):
        def __init__(self,name,age,*args,**kwargs):
            print("Son2的init开始调用")
            self.gender = age
            super().__init__(name,*args,**kwargs)
            print("Son2的init结束调用")
    
    
    
    class GrandSon(Son1,Son2):
        def __init__(self,name,gender,age):
            print("GrandSon的init开始调用")
            super().__init__(name,age,gender)
            print("GrandSon的init结束调用")
    
    print(GrandSon.__mro__)
    
    

    关于作者

    个人博客网站
    个人GitHub地址
    个人公众号:
    在这里插入图片描述

  • 相关阅读:
    C# 类 (7)
    C# 类 (6) -继承
    C# 类 (5)
    c# 类(4)
    C# 类(3)
    c# 类(2)
    C# 类 (1)
    C# 零碎知识点
    VINS_Fusion 初始化过程
    视觉SLAM(一)预备课程与基础知识
  • 原文地址:https://www.cnblogs.com/simon-idea/p/11411755.html
Copyright © 2011-2022 走看看