AnimalクラスにBoolean型のflyableってメンバ変数を作って
flyメソッドを呼び出したとき
Falseなら何もしない(または何かエラーを返す)Trueならflyの内容を処理するっていうのはダメかな?
空飛ぶDogとか飛べないBirdとかが欲しくなっても作れると思ったんだけど…