tagCANDY CGI VBレスキュー(花ちゃん)の雑談用掲示板
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の雑談用掲示板
Re: 関数・サブルーチン・メソッド ( No.2 )
日時: 2007/07/03 17:34
名前: ダンボ

よねKENさん、いつもお世話になっております。

>厳密にはVB6以前(というか実際は旧時代のBASICで)のサブルーチンは
>Gosub 〜 Returnを使用した共通部品を指します。

をぉ、そうだったんですか。実はダンボは今でも極まれにGosubを使います。
・極少量のルーチン(5〜10行程度)
・多数(10以上)の引数で受け渡すより実変数を直接アクセスするほうが楽
・そのルーチン内だけで使われ他所からは呼ばれない。

>ダンボさんのおっしゃっている「関数・サブルーチン」は、
>このFunctionプロシージャとSubプロシージャのことですね。

そうなんです。不正確なのかもしれません。
ちなみにダンボはSubプロシージャは使いません。C言語の影響もありSubはvoid型の
Functionだし、Functionとして設計しておけば使い回しが利くし。

>メソッド = クラス(オブジェクト)に属しているFunctionプロシージャ(関数)、Subプロシージャ(サブルーチン)
>VBにはModuleが存在しており、この発想は非オブジェクト指向な機能として残っています。
>Moduleに存在するものであれば「関数・サブルーチン」と言えなくもありません。
>ただし、Moduleを使わない、あるいは、静的なクラスと同等である、と考えることで、
>これらもまたメソッドであると呼称することは特に問題ないと思っています。

ここですね。「VB.Netはクラスのお化け」みたいな感じがします。

>それ以外にも組込のCInt関数などの型変換関数は「関数」と呼ばれていますね。これらは所属するクラスがありませんので、

おや、VB.Netにもクラスに所属しない関数があるのですか!!


全般としては、私の理解は誤っておらず更にいろいろの補足を与えてくださってありがとうございました。



 [スレッド一覧へ] [親スレッドへ]