Top / クラスプログラミング / 02.処理の画一化

フォームに複数の項目があるとします。 あなたは、ユーザが入力した項目をチェックし、データベースに登録しなければなりません。

さて、クラスを使わないプログラミングでは、以下のように項目一つ一つについて、チェックのロジックを書いていくことでしょう。

Public Function AllCheck() As Boolean
   If Not Check1() Then Exit Function
   If Not Check2() Then Exit Function
   ・
   ・
   ・
   If Not CheckNN() Then Exit Function
   AllCheck = True
Exit Function

という感じですね。(各項目は、それぞれ、Check1,Check2...CheckNN でチェックされています。)

チェックするロジックを、クラス化し、Check というメソッドを持たせてみましょう。 それぞれの項目(コントロール)は、プロパティとしてクラスに与えます。

たとえば、よく見掛けるのが、「得意先コードを入力して、得意先名を表示する」というような、決まりきった処理があります。 これは、次のようにクラス化するとよいでしょう。

Public txtCode As TextBox
'コードを入力するテキストボックス
Public lblName As Label
'名称を表示するラベル
Public Function Check() As Boolean

'    txtCode をチェックし、lblName を表示するようなロジックを記述します。 
End Function

すべての項目をチェックするロジックは、次のようになるでしょう。

Public Function AllCheck() As Boolean
   If Not A.Check() Then Exit Function
   If Not B.Check() Then Exit Function
   ・
   ・
   ・
   If Not NN.Check() Then Exit Function
   AllCheck = True
Exit Function

さて、どこが変わったかというと、すべてのチェックが、Check というメソッドで行われるようになっただけです。
これだけではつまんないですね。

実は、次の03.コレクションと併用することで、効果が現れてくるのです。




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2009-10-25 (日) 23:56:00 (2852d)