所以我现在正在学习python,我想知道是否有一种方法可以让一个类成为其他类的超类,而不允许直接从它创建对象。我试过删除构造函数方法,但这并不能阻止实例化它只会使对象为空,我也试过引发错误,但会终止程序,我不想这样做,从技术上讲,它不会阻止实例化它只是通过终止程序使对象不可访问。i、 电子邮件:
class MySuperClass():
def __init__(self):
raise Exception("Cannot create object directly from base class")
我也尝试过在它里面引发一个异常
try:
class MySuperClass():
def __init__(self):
raise ValueError
except:
print("Cannot create object directly from base class")
这仍然不能阻止对象的创建,我也尝试过将这一行放入构造函数del self
,但似乎没有任何效果。有什么想法吗?提前谢谢。你知道吗
Python类有一个
__new__
方法,当您创建实例并返回实例时,会调用该方法。因此,下面的代码将起作用。你知道吗任何创建
MySuperClass
实例的尝试都会给您None
。然而,子类是可以建立的。你知道吗相关问题 更多 >
编程相关推荐