広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 14 その102
クラスの連携 つづき

さっきも言ったけど。

機能を作る時、
クラスとして作るか、
メソッドとして作るか。

クラスとメソッドの関係は
プログラムを設計したり
拡張したりする時に
「どこにどの機能を置くか」
重要になるんだ。

しっかりイメージしてね。
うーん。

結局、
クラスとメソッドは、
どう使い分ければ
いいのかな?
この子
ストレートね・・・。
うーん
よく分からない。



例を見て
みよう。
使い分けの明確な区切りは
無いし、考え方によって
異なるんだけど・・・。

クラスにするかメソッドにするかの
基準の一つは「機能の大きさ」。

プログラムだとコードの量ね。

そうだな、例でちょっと見てみよう。
 
まずは、大きさによって
使い分けるんだ。

どんな風に分けるのかな?
  はいっ。
 
 

例:メソッドを分離してクラスを作る
 
1、オブジェクトの内容を考える(分離したイメージ)
2、クラスを設計する(変更)
3、インスタンスを生成して使用する
 

  例:メソッドを分離してクラスを作る

例えば、
作り変えていくうちにメソッドが
巨大になっちゃった場合。


絵の具工場の発展とともに
染料製造装置やラベル作成装置に
いろいろな機能を追加していって
役割がどんどん大きくなって
いった場合とか考えられるね。
気がついたら
なんのこっちゃー
って感じ。

イメージしてね。
あちゃー

ぽんちょ
たいへんだ。。。
絵の具工場
パンパンだね。。。


装置の大きさが最初の3倍
ぐらいになっちゃってるね。

機能はたくさんあっても
これじゃ装置が複雑だよね。

操作が大変かも。
 
メソッド肥大化の例:メソッドに機能を追加・拡張し続けた結果、難解なものになってしまった

  1、オブジェクトの内容を考える(分離したイメージ)

そんな巨大装置は、装置と
いうより、もはや「工場」だ。

という訳で、「装置」を工場から
分離して、新しい「工場」に
してしまおう。

分離したイメージはこんな感じ。


こんな風に、巨大装置を
小さな装置に分割して、
専用の工場に入れよう。

つまり、
肥大化したメソッドを分離して
クラスに作り変える
んだよ。
メソッドをクラスに
しちゃうんだ!


染料装置を
染料工場に。

ラベル装置を
ラベル工場に。

新しい工場を
造っちゃうんだね。
スッキリして
拡張も
しやすそうだろ。
そうだね!

そんなことが
できるんだ。
 
クラスとメソッドの関係:メソッドのクラス化の検討

 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告