She*_*ock 3 python oop inheritance module
抱歉,如果这没有意义,我不是一个经验丰富的程序员.
请考虑以下代码:
import mymodule
class MyClass:
def __init__(self):
self.classInstance = myModule.classInstance()
Run Code Online (Sandbox Code Playgroud)
然后 ......
from mymodule import classInstance
class MyClass(classInstance):
def __init__(self):
pass
Run Code Online (Sandbox Code Playgroud)
如果我只是想在MyClass中使用一个classInstance,是否可以从模块中导入特定的类并让MyClass继承这个类?
在决定这两种方法时,是否有任何最佳实践或我应该考虑的事项?
非常感谢
请允许我提出一个不同的例子.
想象一下,有了Vector类.现在你想要一个Point Point.Point可以用向量定义,但也许它具有Vector没有的其他额外功能.在这种情况下,您从Vector派生Point.
现在你需要一个Line类.Line不是上述任何类的特化,因此您可能不希望从它们中的任何类派生它.但Line使用积分.在这种情况下,您可能希望以这种方式启动Line类:
class Line(object):
def __init__(self):
self.point1 = Point()
self.point2 = Point()
Run Code Online (Sandbox Code Playgroud)
哪个点会是这样的:
class Point(Vector):
def __init__(self):
Vector.__init__(self)
Run Code Online (Sandbox Code Playgroud)
所以答案是真的:取决于你需要做什么,但是当你清楚地知道你编码的是什么时,在子类别之间进行选择之间的选择就变得很明显了.
我希望它有所帮助.
归档时间: |
|
查看次数: |
1841 次 |
最近记录: |