使用Super将类分为单独的类(和单独的文件)

时间:2018-07-06 00:34:47

标签: python-3.x

我试图将一个大类分解为单独的子类,然后我打算按功能将其分解为单独的文件。我以为下面的代码可以工作,但是似乎我的类/子类逻辑不正确。我的示例代码是:

class MyParentClass():
    def __init__(self, x):
        self.x = x

class SubClass(MyParentClass):
    def __init__(self, x):
        super().__init__(x)

    def test(self):
        print("Test inside of SubClass")

    def test2(self):
        print(self.x)

z = MyParentClass("hello")
z.test()
z.test2()

最终目标是:

1)MyParentClass是被调用的主类。

2)在单独的文件中存在多个子类(例如ACL,策略,acl.py中的Routes,policy.py和route.py)

我不知道这是否可行,但是我的设想是:

z = MyParentClass("172.16.16.1")

# would exist in acl.py
z.acl("permit any any") 

# would exist in policy.py
z.policy("permit any any") 

# would exist in route.py
z.route("route 0/0 next-hop 172.16.16.2") 

# would exist in MyParentClass
z.save()  

先谢谢了。

1 个答案:

答案 0 :(得分:0)

MyParentClass不应是父类,而应是Registry,并应具有__call__()Factory Method方法。