いつか作ります RSSフィード

2008-07-31

setterとgetterを使わない 03:41 setterとgetterを使わない - いつか作ります を含むブックマーク はてなブックマーク - setterとgetterを使わない - いつか作ります setterとgetterを使わない - いつか作ります のブックマークコメント

↑これだけは無理な気がする。状態保存とかどうするの?? 不可避じゃないの?? わかんない!!

?????吟????????????????? - The Dry Days

person.setState('sleep')

とかじゃなくて

person.sleep()

と呼ぶ。

getter、setterは

  • そのクラスの内部仕様に呼び出し側が踏み込むことになる
    • 一目瞭然だが、stateという変数がある事を、呼び出し側が意識しなければならない
  • メソッド呼び出しからその意図を読み取りにくい
    • 汎用的なsetStateよりも、sleep()、wakeUp()、work()なんかの方が、コードが読みやすい
  • 設計を変更しにくい
    • 例えばperson.setState('sleep')では有無を言わさず寝るしかないわけだが、person.sleep()ならば、personのsleep()メソッドをいじくる事で寝る前に歯を磨いたり布団を敷いたりといった処理を追加できる

まあ、「セットする」「ゲットする」としか表現できない操作もあるのだが。

bgvilleabgvillea2008/08/01 19:37fukkenさん、ありがとうございました。

新着エントリは上に追加。コメントは「はてなユーザのみ」、公開設定はパブリック (だれでも閲覧ができます)。