2
私はメソッドrun()
を持つスーパークラスを持っています。スーパークラスのメソッドの名前をPythonでどのように変更するのですか?
スーパークラスのサブクラスを作成し、独自のrun()
メソッドを作成したいと考えています。しかし、私はこの新しいオブジェクトのoldrun()
というメソッドで古い実行メソッドの機能を保ちたいと思います。
これをPythonでどうやってやりますか?
私はメソッドrun()
を持つスーパークラスを持っています。スーパークラスのメソッドの名前をPythonでどのように変更するのですか?
スーパークラスのサブクラスを作成し、独自のrun()
メソッドを作成したいと考えています。しかし、私はこの新しいオブジェクトのoldrun()
というメソッドで古い実行メソッドの機能を保ちたいと思います。
これをPythonでどうやってやりますか?
あなたはこのようにそれを行うことができます:
class Base(object):
def run(self):
print("Base is running")
class Derived(Base):
def run(self):
print("Derived is running")
def oldrun(self):
super().run()
これがやりたいために奇妙なことのように思える...あなたの周りの古いバージョンを保持したい理由は、より具体的な理由はありますか? – mgilson
奇妙なことに、あなたはオブジェクトを継承し、潜在的に混乱するような方法でAPIを変更します。 – innisfree