たとえば、基本クラスと派生クラスがあります。
>>> class Base:
... @classmethod
... def myClassMethod(klass):
... pass
...
>>> class Derived:
... pass
...
>>> Base.myClassMethod()
>>> Derived.myClassMethod()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: class Derived has no attribute 'myClassMethod'
DerivedクラスがmyClassMethodを上書きせずに、superのクラスメソッドを呼び出さずに呼び出すことができるようにすることは可能ですか?必要な場合にのみクラスメソッドを上書きしたいのですが。
はい、継承できます。
メンバーを継承したい場合は、継承についてpython!
>>> class Derived(Base):
... pass
Python 2では、Base
クラスをオブジェクトから継承することをお勧めします(ただし、そうしなくても機能します)。InPython = 3デフォルトでオブジェクトから既に継承されているため、不要です(コードの下位互換性を確保しようとしている場合を除く)。
>>> class Base(object):
... ...
サブクラスの基本クラスから派生する必要があります。
class Derived(Base):
...