有沒有辦法完成這樣的事情?我在Python的工作,但我不知道是否有辦法做到這一點在任何編程語言...繼承類屬性(python)
class Parent():
class_attribute = "parent"
@staticmethod
def class_method():
print __class__.class_attribute
class Child(Parent):
class_attribute = "child"
我知道我不能直接調用__class__
。它只是一個例子,因爲我想要類似於對類本身的引用,因爲我希望子類根據其class_attribute採取不同的行爲。
然後應該輸出應該是這樣的:
> Parent.class_method()
"parent"
> Child.class_method()
"child"
我知道同樣的技術可以通過實例來完成。但我不想創建實例,因爲有時__init__
方法中的代碼可能會很長並且要求很高,如果我經常想要調用class_method
,我將不得不創建大量僅用於此一方法調用的實例。並且因爲class_attribute
和class_method
是靜態的,不會被實例更改。
你只是在談論'靜態'功能? – Tigran 2012-02-06 20:09:17