実用的で無い内容なのでここで聞いて良いのか悩みましたが,一応クラスの設計の参考になるだろうと思って質問しました。 自分の普段使いがPythonなので,説明用のコードはPython風ですが,どの言語にも共通する問題だと思います。 先ほど友人と,「鶏肉を5つに切る」にはどうすれば良いかという例えばなしをしていました。 これを実装する場合, chicken.cut(5) # chickenは (Foodクラスを継承した) Meatクラスのインスタンス chef.cut("chicken", 5) # chefはChefクラスのインスタンス。あらかじめset_foodなどで{"chicken": chicken}を内部に保持した状態にしておく の2通りが考えられるのではないかと思います。 鶏肉の状態が変化するという意味では,「chickenが5つに分割された状態になる」前者の方が自然であるように思