我编写了一些代码,其中包含从超类继承变量的main和许多子类.
例如
class superclass(object):
def __init__(self, var1, var2):
self.var1 = var1
self.var2 = var2
class subclass1(superclass):
def method1(self):
pass
class subclass2(superclass):
def method1(self):
pass
Run Code Online (Sandbox Code Playgroud)
主要没有显示,也没有用于选择要调用的子类的选项工厂,但希望给出的信息就足够了.
我希望将这些类转换为可导入的独立模块.预计将来会编写其他子类,所以我想知道是否可以将每个子类和超类保存为单独的模块,并且子类仍然可以使用/访问超类变量和定义.
这背后的原因是简化了任何未来子类的编写.这意味着它们可以作为独立模块编写,并且不必将先前的子类和超类作为开发的一部分进行处理,但是它们仍然可以使用suberclasses变量和定义.
我不确定它是如何工作的,或者它是否可以这样做.我是否只将所有类保存为superclass.py,subclass1.py和subclass2.py并将它们全部导入?????
希望有道理.
谢谢.
jul*_*ria 10
是的,它完全有可能.只是不要忘记在子类文件中导入超类:
from module_where_superclass_is import SuperClass
class SubClass(SuperClass):
def method1(self):
# ...
Run Code Online (Sandbox Code Playgroud)
是的,显然这是可能的 - 这就是 python 的美妙之处!
模块一
class base:
def p(self):
print "Hello Base"
Run Code Online (Sandbox Code Playgroud)
模块 2
from module1 import base
class subclass(base):
def pp(self):
print "Hello child"
Run Code Online (Sandbox Code Playgroud)
蟒蛇壳
from module2 import subclass
ob = subclass()
ob.p()
"Hello Base"
ob.pp()
"Hello child"
Run Code Online (Sandbox Code Playgroud)
:)
| 归档时间: |
|
| 查看次数: |
6395 次 |
| 最近记录: |