これを行う方法はありますか?私は私が直接__class__
を呼び出すことはできません知っているクラス属性の継承(Python)
class Parent():
class_attribute = "parent"
@staticmethod
def class_method():
print __class__.class_attribute
class Child(Parent):
class_attribute = "child"
...私はPythonで動作しますが、任意のプログラミング言語でそれを行う方法があるかどうかはわかりません。クラスの属性に基づいて子クラスを別の方法で動作させたいので、クラスそのものへの参照のようなものが必要なので、その例です。その後、
となって出力は次のようにする必要があります:
> Parent.class_method()
"parent"
> Child.class_method()
"child"
私は同じ技術がインスタンスを通じて達成することができます知っています。しかし、私は__init__
メソッド内のコードが長くて厳しいかもしれないので、私がclass_method
を頻繁に呼びたいと思うと、この1つのメソッド呼び出しのためだけに使用されるインスタンスをたくさん作成しなければならないので、インスタンスを作成したくありません。 class_attribute
とclass_method
は静的であり、インスタンスによって変更されないためです。
あなたは単に静的な機能について話していますか? – Tigran