首页 > 解决方案 > 在 Python 中将 SuperClass 的对象传递给 SubClass 构造函数

问题描述

class super(object):
    def __init__(self, **kwargs):
        self.abc = kwargs.pop('abc', None)
        self.xyz = kwargs.pop('xyz', None)

class sub(super):
    def __init__(self, *args, **kwargs):
        super().__init__(**kwargs)
        self.pqr = kwargs.pop('pqr', None)
        self.sty = kwargs.pop('sty', None)

obj_super = super(abc=abc, xyz=xyz)
obj_sub = sub(obj_super, pqr=pqr, sty=sty)

我想通过 访问为对象设置的属性obj_superobj_sub。就像是: obj_sub.obj_super.abc

标签: pythonoopobjectinheritance

解决方案


class super(object):
    def __init__(self, **kwargs):
        self.abc = kwargs.pop('abc', None)
        self.xyz = kwargs.pop('xyz', None)
        
    
    
        

class sub(super):
    def __init__(self, *args, **kwargs):
        super().__init__(**kwargs)
        self.pqr = kwargs.pop('pqr', None)
        self.sty = kwargs.pop('sty', None)
        self.contain = args[0]

    
    

obj_super = super(abc=1, xyz = 2)

obj_sub = sub(obj_super, pqr =3, sty=4)
print(obj_sub.contain.abc)

推荐阅读