プロが教えるわが家の防犯対策術!

すみません。立て続けですが、教えてください。

public変数は、他人には、変更されないですよね。

例をだすと、完成したあと、数人の人がそのシステムを使ってるとします。

AクンがPublic変数fooを使っていたとします。同時にBクンもたまたま、Public変数fooをつかっていたとします。

上記の例の場合、AクンBクンとも個々にPublic変数fooが用意されるんですかね??

なんか、本を読んでいたらPublic変数は、「どのモジュールからもアクセスできる変数」と書いてあるとともに「他人に変更されたくなければ、Public宣言をしてはいけない」ようなことが書いてあります。多分、僕の読解力不足だと思うんですが。

使用言語はVBです。

よろしくお願いします。

A 回答 (2件)

>本を読んでいたらPublic変数は、「どのモジュールからもアクセスできる変数」と書いてあるとともに「他人に変更されたくなければ、Public宣言をしてはいけない」ようなことが書いてあります。



これは、1つのプログラムを複数の人間で作る場合です。
例えば、画面Aと画面BからなるプログラムをXさんが画面Aを担当し、Yさんが画面Bを担当したとします。
この場合、画面Aのプログラム(モジュール)からも画面Bのプログラム(モジュール)からも、アクセスできるのが、Public変数fooです。この変数fooは、このアプリケーションプログラムでは唯1つです。従って、この変数fooはお互いに誰がどのように更新するかを、XさんとYさんとで、取り決めておく必要があります。ここでXさんが、Xさんだけが使用する変数hogeを使用したいときは、pubulic変数にしてはいけません。(Yさんからアクセスされるかも知れないので)
全く、別のアプロケーションプログラムでZさんがPublic変数fooを作成した場合、それは、たまたま、同じ名前の変数fooを使っているだけで、最初のプログラムとは全く関係ありません。従ってZさんがどのようにfooを変更しようが、最初のプログラムには、全く影響がありません。
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

>これは、1つのプログラムを複数の人間で作る場合です

↑やはりそうなんですか。僕もひょっとしたらそうかな?とも思ったのですが、はっきりと分らなかったので。。

考えてみれば、VBはローカルコンピュータの中で実行されているので、他人がその値を変更することなど、不可能なことでした。。すみません。

今回は色々と勉強になりました。どうもありがとうございました。

お礼日時:2005/09/15 22:38

おかしな見解です。


もともとプロジェクト内の変数は
そのプロジェクトから作成された実行モジュールが
実行されている間だけ有効になります。

ここで言う「他人」というのはどういうことでしょう。
1つのexeの実行中に「他人」は介在しないと思いますが。

それとも複数メンバでの開発中のことですか?
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

本を読んでるのですが、ちんぷんかんぷんで混乱してしまいました。

>ここで言う「他人」というのはどういうことでしょう。
>1つのexeの実行中に「他人」は介在しないと思いますが。

例えば、データベースに接続するプログラムでコネクションオブジェクトのPublic変数であるCnを作成したとします。

で、プログラムが完成してユーザの方々が使っている時にCnという1つだけの変数に皆がアクセスできたら、Cnの中のプロパティとかが変わってしまうのかな?と思ったのですが、#2様のご回答を見る限りそのようなことはないような気がします。

すみません。分りにくい質問でした。

どうもありがとうございました。

お礼日時:2005/09/15 22:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!