第7章 クラスとオブジェクト指向プログラミング¶
インスタンス属性、プロパティ、クラスメソッドを確認してから、MRO、ディスクリプタ、メタクラス、弱参照といったオブジェクトシステムの深部に進みます。
問題一覧¶
- 0700: 残高を管理するクラス:インスタンス属性、プロパティ、クラスメソッドを使って小さなクラスを作ります。
- 0701: 上限付きカウンタ:インスタンス属性、プロパティ、メソッドで値の範囲を保つクラスを作ります。
- 0702: 合成で作る履歴付きスタック:内部リストを持つクラスとして、push と pop の履歴を残すスタックを作ります。
- 0750: C3線型化の実装:クラス名の継承グラフからメソッド解決順序を計算する C3 線型化アルゴリズムを実装します。
- 0751: ディスクリプタで作る単位付き量:属性への代入時に物理量の次元を検査するデータディスクリプタを実装します。
- 0752: メタクラスによるハッシュコンシング:メタクラスの call をメモ化し、同じ引数からは同一のインスタンスを返すハッシュコンシングを実装します。
- 0753: 弱参照キャッシュ:強参照が消えるとエントリが自動的に消えるノードキャッシュを弱参照辞書で実装します。
- 0754: 代数構造の抽象基底クラス:モノイドの抽象基底クラスと、繰り返し二乗法による O(log n) の冪演算ミックスインを実装します。
- 0755: slots で作る Union-Find:slots を持つクラスとして素集合データ構造(Union-Find)を実装します。