[1273] Re:>(ぱ)こと管理人さん
投稿者:SE
2009/05/20 13:42:06
大文字小文字の例が悪かったのか、話がそこから進まないようです。
修正方法には以下の4つがあります。
-----------------------------------------------------------
1.別名でメソッド追加
別々の処理として追加したい場合に使用
2.継承
関連処理をまとめて変更したい場合に使用
3.分割して親クラスを継承
関連処理をグループ化して、片方のグループを変更したい場合に使用
4.staticメソッドを作成
関連のない任意の場所で使用したい場合に使用
-----------------------------------------------------------
それぞれ用途が違いますが、オブジェクト指向特有で強力なのが2,3です。
別に全て2でやれと言っているわけではなく、2の使い方が出来るのが
利点だと言っている訳です。
間違いやすいとか分かりにくいと言うのは、実装者のスキルの話で、
よく見て追えば分かるし、変な設計をすれば分かりにくくなります。
遠くの所でnewした特有の処理の入ったクラスを、引数で使い回すのは、
構造化のスタンプ結合的で、オブジェクト指向的には良くない設計です。
オブジェクト指向の場合は処理は関連するデータと共にクラスに
まとめられるため、その引数を必要とするメソッドを、引数のクラス内
に実装できるか検討すべきです。
つまり、分かりやすいとか間違えやすいとか言う話は別として、
4種類の変更方法を選択できるため、再利用性が高いと言っている訳です。
>ひとつ伺いたいのですが、SEさんはどんな本でオブジェクト指向の勉強をされたの
>でしょうか。
本は色々読みましたが、全てが同意できる物はありません。
殆どが、オブジェクト指向と言いつつ、デザインパターンの説明本や、UMLの説明本、
プログラミング言語の小技本、翻訳がおかしい本、中にはWEBアプリケーションの
作り方本もありました。
WEBサイトも同意できる物もあれば、出来ない物もあり、半々ぐらいです。
オブジェクト指向関係の書籍のひどさは、(ぱ)さんもご存じだと思います。