A:回答:
複雑な処理を行う時に使います。
クラスの一番大事な性質は「カプセル化」です。
つまり、クラスにすることで、「クラス内の事を外部から見れなくする」することで「1つの部品」にすることが出来るのです。
クラスを操作するには「メソッド」経由でないと出来ません。
つまり、メソッド経由で来た情報をクラス内だけで処理すればいいのです。
「イッツアスモールワールド」ですね😊
小さければ小さいほどデバッグはしやすいのです。
例えば真と偽だけを持つ変数でもそれが10個あれば1024の状態を持つのです。
これが5個の変数を持ったものなら32の状態に減るのです。32の状態をデバッグすれば済むのです。
小さい事の有用性がわかりますでしょうか。多分初心者のうちはわからないですよね😅
大規模開発をしない時でも「クラス化することで簡単に使いまわせる」というメリットがあります。
クラス化するのは面倒ですが、一度クラスにすれば後は「コピー」で使いまわせるのです。
ーーー
プログラムには「複雑度」というのがあり、複雑になる程プログラムのデバッグが大変になります。
UML図を覚えて下さい。
ユースケース図で必要な登場人物(物)を洗い出します。
その一つ一つがクラスになります。
シーケンス図でクラス間のメッセージのやり取りを書きます。メッセージがクラスのメソッドになります。
その後クラス図を書いて必要なプロパティを決めます。
クラスというのは外部とはメソッドでしかやり取りせず、クラス内は外からは見えません。
これを「カプセル化」と言います。
つまりクラス内の事はクラス内で閉じてクラス外の影響を受けないのです。
これがクラスの最も重要な機能です。
最初に述べた「複雑度」をカプセル化で減らす事が出きるのです。
大規模なソフトウェア開発を行うほどこれは重要になります。
小規模な開発でクラスが役に立つのは「使い回し」です。
クラス化しておけばカプセル化しているのでクラスを別なソフトで使うのも簡単なのです。
想像してみて下さい。
クラス化されていないベタ書きのコードから一部を取り出して別なプログラムに使おうとすると、必要な変数やコードが何か調べないといけません。
クラスはそれに必要な機能がクラス内だけに収まっているので他のプログラムにそのままクラスをコピーするだけで使えるのです。
もう一つのクラスの見つけ方に「バウンダリー」「エンテェティ」「コントローラー」でクラスを見つける方法があります。
バウンダリーは外部とのやり取りを行う所、エンテェティは内部的な塊、コントローラーはそれらを制御するものとしてクラスをわけます。
0 コメント:
コメントを投稿