ベストアンサー モジュールとクラスの違いってなんなんですか? 2004/07/04 03:53 モジュールとクラスの違いってなんなんですか? 本などをみてもいまいち分かりません。 みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー BellBell ベストアンサー率54% (327/598) 2004/07/10 07:07 回答No.2 端的かつ正確に言うと、クラスはオブジェクトで、標準モジュール(質問内でモジュールと呼んでいるのは標準モジュールのことだと思いますが)はオブジェクトではありません。 (もし、質問内でモジュールと呼んでいるのが、本当にモジュールという意味で言っているのであれば、クラスはクラスモジュールですし、フォームはフォームモジュールです。クラスはモジュールの一種です、という答えです) 使用方法で言うと、クラスはインスタンス作成時、破棄時にそれぞれイベントが発生するため、変数等の初期化や終了処理などをオブジェクト内で自動化できます。 オブジェクト内で自動化されるため、初期化手続き、参照の開放などクラスを使用する際には内部の動作を意識することなく使用することができます。 つまり、再利用性が高いと言いかえることができます。 また、VB5/6ではAddressOf演算子が標準モジュール内の関数以外には使用できないという制限があるが、それを使用しない前提では、標準モジュールで実現できることはクラスで書きかえることができます。 逆に、クラスではできる事でも、標準モジュールではできないことは山のようにあります。 #1さんが書いたように、複数のインスタンスを作成することもそうですが、当方の利用方法では、コレクションに追加できるという点を挙げたいと思います。他には、自己再起定義(造語)です。ClassA内でClassAオブジェクトを作成するような動作です。ClassA内でClassAを定義した場合、中に作成されたClassAの中にさらにClassAが定義可能で、さらにその内部にClassAが、さらにその内部に・・・と、スタックの許す限り無限に定義されます。 ポリモーフィズム、関数の引数や返り値にクラスを渡すなど、いろいろと標準モジュールには不可能な点が多くあります。 質問者 お礼 2004/07/21 01:41 皆様 ご回答・アドバイス等ありがとうございます。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) noname#7749 2004/07/04 08:11 回答No.1 標準モジュールもクラスの1種ですが、任意のタイミングでインスタンスの生成/破棄ができない点、複数のインスタンスを生成できない ( = 常に一つしか存在しないことが保障されている) 点が異なります。 つまり、標準モジュールはデザインパターンで言うところのシングルトンに相当する機能を提供するものと言えます。 詳細はこちら↓を熟読するとよいでしょう。 http://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/ やや古い (1998~99年頃?) 内容ですが、参考になるはと思います。 # この記事を書いた当時、執筆者は高校生ぐらい?だったはず。 # 現在はどうされているのでしょうか......? 参考URL: http://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/ 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発Visual Basic 関連するQ&A 標準モジュールとクラスモジュールの違い マイクロソフトのAccess2000でVBAプログラミングを行なっておりますが、 基本的なことを教えてください。 「標準モジュール」と「クラスモジュール」の違いはなんですか? 例えば、どこからでも使えるプロシージャ Public Function getSum( i1 as integer, i2 as interger ) getSum = i1 + i2 End Function を定義したとして、標準モジュール内に書くのとクラスモジュール内に 書くのとでは、何が違ってきますか?その他とにかく「標準モジュール」 とクラスモジュールの違いを教えてください。 クラスモジュールについて VBを勉強し始めた初心者です。 標準モジュールについては何とかわかるようになってきましたが、クラスモジュールについては、ほとんどわかりません。 クラスモジュールの意味や、プログラム法について初心向けにわかりやすく書いた本等がありましたら、ご紹介下さい。 クラスモジュールについて はじめまして。 クラスモジュールと標準モジュールの大きな違いは何なんでしょうか?基本的な質問で申し訳ありません。どなたか教えてください。 ma-ki ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム クラスとモジュールの違い VB2005を勉強中です。 申し訳ありませんが、色々教えていただきたいです。 1、クラスとモジュールは何が違うのでしょうか? 2、項目としてクラスを追加してクラスの宣言(Public Class class1)を消して、モジュールの宣言(Module class)を書けばモジュールになるのでしょうか? 3、「Visual Studio にインストールされたテンプレート」の説明がされたいるサイトがありましたら紹介してほしいです。 情報ボックス、ログインフォーム、スプラッシュスクリーンとかの説明が読みたいです。 よろしくお願いします。 クラスモジュール クラスモジュールについて詳しく使い方を知りたいのですが 様々な本を見ましたが、ほとんどの本が1~2ページ程度の軽い説明で終わらせているのがほとんどです。(特にVBA系は) これについて詳しく書かれた本をお知りの方がいましたら教えていただけないでしょうか?VBAはないと思うのですがVBで大丈夫です 特に配列(行列)を渡したりして計算させるやり方が知りたいです。コントロールなどを使ったものではなく(基本的には同じかとも思いますが) よろしくお願いします。 クラスモジュール 私は5年位vbaをやっていますが 標準モジュールとフォームモジュールしか使った事が有りません。 エクセルだったらシートモジュールはあります。 クラスモジュールの存在は知って、 学ぼうと思ったのですが 意味がよくわからない為挫折しました。 でも今自分がやりたい事はクラスモジュールがなくても出来ています。 クラスモジュールを学んで使うと もっと作業が捗るのでしょうか? クラスモジュールを使う事のメリットを教えていただけますか? Python クラスとモジュールの違いについ プログラミング初心者です。※初めてのプログラミングでPythonの勉強中です。開始2週間程度です!! Pythonにおける(プログラム一般における?)クラスとモジュールの違いが分かりません。 ■現状の認識 ・モジュール 「***.py」といったような一つのファイル 他のモジュールからimportすることによって使用できる ・クラス 「***.py」といった一つのファイルの中に「class」として宣言できる 他のモジュールからインスタンスを生成して使用できる ■疑問点 上記を使い分ける意味 上記を使い分けた時のメリット、デメリット ※すべてモジュールとして作成して、使用したいときにimportすればいいのでは?と考えています。 現状Pythonの知識しかありませんが、プログラミング一般の知識のような気がしています。 プログラムに詳しい方よろしくお願い致します。 クラスモジュールを使いたい VBで、クラスモジュールを使いたいのですが、どうやらホストアプリケーションがクラスをサポートしていないらしく、クラスのモジュールを作成しようとするだけでエラーになります。 ホストアプリケーションにクラスを使用できるようにするには、何をどう設定すればよいのでしょうか? お願い致します。 クラスモジュールを使わないとできないこと エクセル、アクセスでvbaを利用しています。 現在はすべて標準モジュールに記載しているのですが 「クラスモジュールを使わないとできないこと」もあるのでしょうか? クラスモジュールの使い方、必要性がいまいちわかりません。 まだ初心者な為複雑なコードは作っていません。 よろしくお願いします。 クラスモジュールについて 笑われてしまうかもしれませんが、クラスモジュールはどんな時に使用するべき なのかが分かりません。 標準モジュールとどう使い分けていけば良いのか教えてください。 また、DLLとOCXも、どう使い分けたら言いか教えてください。 よろしくお願いします。 クラスモジュールを使う事によって何が出来るようにな クラスモジュールを使う事によって何が出来るようになるのですか? 私は今標準モジュールとフォームモジュールでしかコードを書いた事がないのですが クラスモジュールの使い方やクラスモジュールにコードを書くことによって出来ることがわかりません。 今の所、クラスモジュールを使わなくても業務が問題なく遂行されているのですが クラスモジュールを使う事によってどんなメリットがあるのでしょうか? エクセルです。 クラスモジュールの使い方が詳しく書かれたVBAの本 VBAを勉強中のものです。 クラスモジュールを使いこなせるようになりたいのですが それについてよく書かれている本はありますでしょうか? VBAの勉強している際に読む本は、標準モジュールにコードを記載するよう書かれています。 ご存知の方がいらっしゃいましたらご回答お願いします。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム VBAのクラスモジュール こんにちは。 VBAのクラスモジュールを勉強しようと思ってます。 お勧めの書籍、講座等ご存知でしたら、教えていただけないでしょうか? 宜しくお願いいたします。 エクセルのクラスモジュール 同一のマクロを複数のブックで使用したいのですが。 クラスモジュールを使うようですが、設定の仕方がわかりません。 わかり易く教えて頂けないでしょうか。 標準モジュールとクラスモジュールについて 標準モジュールでType型を使用しています。 この標準モジュールをクラスモジュールに置き換えて、Formから呼び出すCOMに作り変えたいのですが、引数ってどう設定したらよいのでしょうか? 今は標準モジュールなので、こんな感じで呼んでいるのですが・・・ 例) Private Sub Command1_Click() Dim in_b As IN_PARA Dim out_b As OUT_PARA in_b.Name = "山本太郎" in_b.Seikaku = "優しい" in_b.Syumi = "釣り" in_b.Tokugi = "野球" VBAのクラスモジュールについて 現在、VBAの学習をしています。 クラスモジュールとは、どういったものか? 具体的な事例を簡潔に教えてください。 どんな時に使ったり、どのように作りますか? 簡単なものでかまいませんので、 教えてください。 よろしくお願いいたします。 尺モジュールとメーターモジュールの違い 尺モジュールとメーターモジュールの違いを どなたかわかりやすく教えてください! ダイオードモジュールとパワーモジュールの違いは何? ダイオードモジュールとパワーモジュールの違いは何でしょうか? よろしくお願いします。 クラス名やモジュール名の競合について プログラミング言語のRubyでプログラムを作っていて疑問に思った事がありますので どなたかご存知の方が居れば教えてください。 Rubyにおいては同じクラス名やモジュール名であっても モジュール内に対象クラスやモジュールを定義する事で 「モジュール名::クラス名」等と言う参照が可能になっていますよね そこで気になったのですが、同名のクラスAとモジュールAがある場合に (つまりクラスAの名前=モジュールAの名前) class モジュールA::クラスB # コンストラクタ def initialize @prop = クラスA.new end end 等と記述すると、コンストラクタの内部の記述において クラスAの名前とモジュールAの名前が競合するので、クラスBの生成時にエラーが発生します。 この様なケースにおいて、コンストラクタの内部でクラスAのインスタンスを 正しく生成する方法はあるのでしょうか? 勿論前提として、クラスAは他のモジュールに含まれたクラスではありません。 Javaの様にパッケージ概念があって、全てのクラスについて何らかのパッケージに所属している等の 仕組みが無いので、時々この様な命名をしてしまい困る事があるので この様なケースを回避する方法についてご存知の方が居れば、教授ください。 よろしくお願いします。 VBA クラスモジュールについて http://www.excellenceweb.net/vba/class/what_vba_class.html を見ながらクラスモジュールの勉強をしているのですが 躓きました。 新規にクラスモジュールを挿入し オブジェクト名に果物売上と名付けました。 そこに、 Sub TEST() Dim Apple As 果物売上 Set Apple = New 果物売上 End Sub と入力しました。 そして標準モジュールを挿入し、 そこに Sub TEST() Dim Apple As 果物売上 Set Apple = New 果物売上 With Apple .名前 = "リンゴ" .価格 = 100 .在庫 = 20 .仕入数 = 50 End With With Apple Debug.Print .名前 End With End Sub を入力しました。 そして、デバッグすると 「Apple As 果物売上」の部分が コンパイルエラーになってしまいます。 全然クラスモジュールの使い方がわからないのですが どこを直せばいいのでしょうか? 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
皆様 ご回答・アドバイス等ありがとうございます。