07/04/25 09:28:37
>633
メソッドが機能になるのは正しい。次に問題になるのが「クラスが物を表しているか」だ。
これがオブジェクト指向と呼ばれる所以になる。誰かが言っていたもう一段階の抽象化も多分これだろう。
落ち着いてクラスを見て、クラスが「商品」や「利用者」などの物になっていて、それらに関連する
フィールド変数とメソッドで構成されているればOKだ。
そして前にも書いたが、そうなるように変数やメソッドを移動する。
構造化の考えだと機能重視になって、クラスが「書き込み」や「計算」などの機能になって、単に書き込み
メソッドを集めたメソッド集や、計算を集めたメソッド集になってしまう事がある。これはNGだ。
ただし分かりにくいのは、「物」と言ってもまれに目に見えない物をクラスにする必要があると言う事だ。
前のオセロの例で言うと、「ゲームのルール」などである。
またまれに、機能なのか物なのか微妙な物や、ある場合では物になる機能などもある。
例えば先ほどの「書き込み」もWriter(書き込む人)などにして、物として扱う場合もある。
まあこのあたりは最初から考えると分からなくなるので、そういう場合もまれにあるという認識だけあればいい。