このようなコードスニペットがあります
class A(object):
class b:
def print_hello(self):
print "Hello world"
b = property(b)
b
そして、内部クラス(小文字の名前は気にしないでください) の動作をオーバーライドしたいと考えています。たとえば、次のように、新しいメソッドを追加したり、既存のメソッドを変更したりします。
class C(A):
class b(A.b):
def print_hello(self):
print "Inner Class: Hello world"
b = property(b)
C
のオブジェクトを として作成しc = C()
、呼び出すc.b
と、 が得られTypeError: 'property' object is not callable error
ます。print_hello
これを渡して拡張内部クラスを呼び出すにはどうすればよいですか? 免責事項:A
クラスのコードを変更したくありません。
更新: 基本クラス 'A' は、オープンソース API の 1 つで見たクラスをシミュレートしようとします。そのため、コア API を変更したくありませんが、自分の要件に合わせて拡張します。