生徒の名前とその生徒がいる学年が与えられたとき、学校の名簿を作成しましょう。
最終的には、次のことができるようになります。
なお、生徒の名前はみな1つだけです(小さな町ですからね、何を期待するのでしょう?)。また、同じ生徒を同じ学年や名簿に複数回追加することはできません。 実際、テストで同じ生徒を複数回追加しようとした場合、実装はそれが正しくないことを示す必要があります。
生徒を別のオブジェクトとしてモデル化する必要は必ずしもありません。要件はとてもシンプルなので、都合のよい内部データ構造を使ってもかまいません(その構造が結果に漏れ出さない限りは)。
この演習は、problem-specificationから少し変更されています。生徒の追加と問い合わせは別々のメソッドに分けたほうが自然だからです(1つのメソッドで両方を行うのは、PharoやSmalltalkらしくないと感じられます)。