Python のリフレクションについて読んでいて、次のステートメントに出くわしました。
構造反射。クラスが提供するメソッドのセットとオブジェクトが持つフィールドのセットを変更することができます。オブジェクトのインスタンスであるクラスと、クラスが継承するスーパークラスのセットを変更することもできます。
これはここに記載されています。
Python でインスタンスのクラスを変更できる例を実装しようとしました。
class Child():
nmbrMovies = 0
nmbrBooks = 3
class Adult():
nmbrMovies = 2
nmbrBooks = 5
class Member(Child):
pass
ここで、最初に Child クラスから継承する Member クラスのインスタンスを作成してx
、架空の図書館でレンタルできる映画と本の最大量を継承します。人/メンバーが になっAdult
たら、メンバーのスーパークラスを に変更したいだけAdult
です。これがそのような構造を実装する簡単な方法ではないことはわかっていますが、Python のこの機能をテストするための例が必要でした。
私がやろうとしていることが可能かどうか誰にも分かりますか? それとも、Python のその性質を誤解したのでしょうか?