在python中继承同名的类

莫森67

我是python的新手,我试图在两个不同的源文件中创建两个具有相同名称的类,让它们分别称为“ Main.py”和“ Extension.py”,而类为“ MyClass”。从Main.py中的MyClass派生而来的Extesntion.py中的MyClass。如果可行,那么当我创建对象myclass时,我在代码中导入了Extension,那么与Main.py相比,我将拥有更多的功能。

主程序

    class MyClass:
       def __init__(self):
         Initialize something

       def foo1(self, a, b):
         Do something

然后扩展将是这样的:Extensions.py

    import Main

    class MyClass(MyClass):
       def __init__(self):
         Initialize something

       def foo2(self, a, b):
         Do something

       def foo3(self, a, b):
         Do something

然后如果我有这样的代码,我希望我不能使用foo2和foo3

    import Main

    myclass = MyClass()
    myclass.foo1(a, b)

最后,如果我有这样的代码,我希望我使用所有功能

    import Extension

    myclass = MyClass()
    myclass.foo1(a, b)
    myclass.foo2(a, b)
    myclass.foo3(a, b) 

任何帮助,将不胜感激 :)

L3viathan

如果你这样做

import main

您将需要使用main.MyClassmain.py创建一个对象。

相反,你可以做

from main import MyClass

使其直接可用。

如果您需要两个具有相同名称的不同类,则可以改为

from main import MyClass as MainClass

并且您将在该名称下获得该课程 MainClass

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章