有没有办法实现这样的功能?我使用Python,但不确定其他编程语言是否可以实现...
class Parent():
class_attribute = "parent"
@staticmethod
def class_method():
print __class__.class_attribute
class Child(Parent):
class_attribute = "child"
我知道不能直接调用__class__
。这只是一个例子,因为我想要像引用类本身一样的东西,因为我希望子类根据其类属性表现出不同的行为。
然后期望的输出应该像这样:
> Parent.class_method()
"parent"
> Child.class_method()
"child"
我知道相同的技术可以通过实例来实现。但我不想创建实例,因为有时 __init__
方法中的代码可能会很长而且要求很高,如果我想经常调用 class_method
,我就必须创建大量仅用于这个方法调用的实例。而且因为 class_attribute
和 class_method
是静态的,并不会被实例更改。
static
函数吗? - Tigran