- - PR -
VB2005 クラス内の関数呼び出しについて
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-15 19:59
ぽんと申します。
以前、VB6を使っていましたがVB2005の勉強をするにあたりオブジェクト指向(クラス)の扱いに困っています。 form.vbとクラス.vbの2つファイルをつくりformには public Class form private sub btn_click(Byval sender as system.object,Byval e as system.eventargs)handles btn.click] msgbox("よろしいですか?",vbokonly) end sub end class があり、 クラス.vbは public class クラス 'テキストボックスの中身をチェックする関数 public function txt_check() '内容は省略 end function end class があります。 form.vbのmsgboxの後にクラス.vbのtxt_checkという関数を呼び出すにはどのようにしたらよろしいのでしょうか?また関数がprivateのときの方法もご教授お願いします。 | ||||||||||||||||
|
投稿日時: 2006-10-15 20:24
そのままだったら
このようにインスタンス化して呼び出します。 インスタンス化しないで呼び出すには、
と定義し、
このように呼び出します。 _________________ 囚人のジレンマな日々 | ||||||||||||||||
|
投稿日時: 2006-10-15 21:16
クラスの場合は、関数ではなくメソッドと言います。 囚人さんの回答どおりで、静的メンバ (VB では共有メンバ) にすれば良いと思います。
上記のように、チェック内容は引数で受け取り、結果は戻り値で返すような作りが望ましいです。 そうすれば、
このように、'エラーだったかどうか' を呼び出し元が関知できます。 最終的に行いたい処理まで、ガード句を使ってエラー検証をするとわかりやすいです。
リフレクションを使えば、Private なメンバであっても呼び出すことができます。(過去ログを参照) しかし、Private は敢えて隠蔽しているものですから、呼び出さないのがルールでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2006-10-16 07:31
friendとpublicを使い分けると吉
| ||||||||||||||||
|
投稿日時: 2006-10-16 09:00
ご質問内容に関する点だけで言うと、VB6 でも全く同じことができます。 つまり、既に実践しているVB6においても、オブジェクト指向を取り入れたプログラミングが可能です(完全にとは言えませんが) こちらも合せて勉強されてみると効率よく習得できるのではないでしょうか。 _________________ R・田中一郎 - R.Tanaka.Ichiro’s Blog | ||||||||||||||||
|
投稿日時: 2006-10-16 23:55
インスタンス化でできそうです。勉強させていただきました。
でも、囚人のアドバイスからちょっと考えさせていただきましたが コード: Private Sub btn_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn.click MsgBox("よろしいですか?", vbOKOnly) Dim c As クラス c.txt_check() End Sub このようにした場合、cはNullexceptionが起こるのではないでしょうか? c = New クラス() を追加したほうがいいのでしょうか? | ||||||||||||||||
|
投稿日時: 2006-10-17 00:19
あ、ごめんなさい。普通に間違えました。 New を追加したほうがよいです。 _________________ 囚人のジレンマな日々 | ||||||||||||||||
|
投稿日時: 2006-10-17 01:06
したほうがいいじゃなくてしなくちゃだめ。
つーかエラーチェックなんてインスタンスに依存しないんならSharedにすべきだと思うんだが。 って既にでてるが・・・・・・・・・ [ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2006-10-17 01:07 ] |
1