私はclass
の束を持っています。これらはすべて基本クラスから継承しています。それらのうちのいくつかはメソッド(save
)を上書きして処理します。この特定のユースケースでは、子供のsave
メソッドを(存在する場合)使用するのを一時的に許可しないで、むしろ親の使用を強制的にsave
メソッドにしたいと考えています。子の外から親メソッドを呼び出す
class BaseClass(object):
def save(self, *args, **kwargs):
print("Base Called")
class Foo(BaseClass):
def save(self, *args, **kwargs):
# do_stuff
print("Foo called")
return super(Foo, self).save(*args, **kwargs)
obj = Foo()
は、どのように私はそれが「と呼ばれるベース」を印刷し、そのようなことを、子供の外から保存obj
親を呼び出すことができますか?
をあなたが何を意味するのですか?あなたは「ベースコールされた」だけをプリントすることを意味しますか? –
基本的には子セーブメソッドを完全に無視し、親メソッドのみを実行します – rh0dium
いつでも 'BaseClass.save(obj)'を実行できます。もっと一般的にしたい場合は 'super'を使います。しかし、この**は叫ぶ** "私は継承を使うべきではありません" –