如果我想创建一个基类,其他类将从中继承,但永远不会使用类变量,我应该将类变量设置为什么?你知道吗
例如:
class Spam:
time_to_cook = None
def eat(self):
...
class SpamWithEggs(Spam):
time_to_cook = Minutes(5)
def eat(self):
...
所有子类都有自己的time_to_cook
,因此它在Spam
中的值对程序的功能没有影响。你知道吗
class Spam:
time_to_cook = None
在我看来不错,但是它没有给出任何关于time_to_cook
类型的信息。所以我倾向于
class Spam:
time_to_cook = Minutes(0)
但这可能会给人一种误导性的印象,即time_to_cook
的值实际上是被使用的。你知道吗
我也在考虑完全忽略它,而是在docstring中提到它。你知道吗
我喜欢shavenwarthog的答案,但是直接使用异常作为属性的值有点奇怪。因此,您可以将引发错误的内容传递给它,无论您调用什么方法:
像这样使用:
然后,无论何时尝试调用
Minute
的任何方法,都会得到一个异常。或者,如果您永远不会直接实例化Spam
,您可以只make it entirely abstract,而不用担心它。你知道吗我建议不要执行错误。它没有给出任何关于类型应该是什么的提示,但是很明显,不应该直接使用该值。你知道吗
相关问题 更多 >
编程相关推荐