C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: 宣言について


(過去ログ 45 を表示中)

[トピック内 15 記事 (1 - 15 表示)]  << 0 >>

■23827 / inTopicNo.1)  宣言について
  
□投稿者/ 初心者 (119回)-(2008/08/22(Fri) 11:53:00)

分類:[.NET 全般] 

初歩的な質問なのですが、
Dim宣言、Public宣言、Private宣言の違いはなんでしょうか?
説明していただけると助かります。

現在vb勉強中


引用返信 編集キー/
■23829 / inTopicNo.2)  Re[1]: 宣言について
□投稿者/ オガシン (50回)-(2008/08/22(Fri) 11:57:22)
変数スコープ クラス変数について
http://bbs.wankuma.com/index.cgi?mode=al2&namber=23301

以前ご自分で質問されているようですが。

変数のスコープ(有効範囲です)
引用返信 編集キー/
■23831 / inTopicNo.3)  Re[1]: 宣言について
□投稿者/ PATIO (99回)-(2008/08/22(Fri) 12:01:21)
No23827 (初心者 さん) に返信
> 初歩的な質問なのですが、
> Dim宣言、Public宣言、Private宣言の違いはなんでしょうか?
> 説明していただけると助かります。
>
> 現在vb勉強中

次に質問するときのためのアドバイス。
せっかく分類の入力が出来るのですから、VBの質問をする時はVBで登録した方が
吉ですよ。VBに詳しい人がVB関係の質問を見つけやすくなるので。

VBは殆ど使いませんけれど。
PublicとPrivateは、スコープに関するものですね。
Publicはそのクラス外からでもアクセスが出来るようにしたい物に対してつけます。
Privateはそのクラス内からしかアクセス出来ないようにしたい物に対してつけます。

Dimは昔からある変数宣言を行う時のキーワードですね。
他の二つとは意味がちょっと違うと思います。

厳密な部分は、VBに詳しい方にお任せします。

引用返信 編集キー/
■23832 / inTopicNo.4)  Re[1]: 宣言について
□投稿者/ nakaP (24回)-(2008/08/22(Fri) 12:03:33)
No23827 (初心者 さん) に返信

全てを説明するのはかなりの労力なので、まずはこの辺を見てみてください。
[MSDN]Visual Basic でのアクセスレベル
http://msdn.microsoft.com/ja-jp/library/76453kax.aspx

単語とかが分からなければ調べてください。
その上で、分からない部分を提示すれば誰か教えてくれるかも。
引用返信 編集キー/
■23833 / inTopicNo.5)  Re[2]: 宣言について
□投稿者/ επιστημη (1273回)-(2008/08/22(Fri) 12:06:14)
επιστημη さんの Web サイト
No23829 (オガシン さん) に返信
> 変数のスコープ(有効範囲です)

有効範囲というより"可視範囲"だなー Public/Privateなどなどは。

引用返信 編集キー/
■23834 / inTopicNo.6)  Re[2]: 宣言について
□投稿者/ もょもと (36回)-(2008/08/22(Fri) 12:08:11)
以前に質問された変数スコープについて理解して頂けたものとして説明するならば、
以下のような感じでしょうか。

Dim…プロシージャ内で参照可能。宣言部はプロシージャ内で。
Private…モジュール内で参照可能。宣言部はプロシージャ外で。
Public…プロジェクト内の全てで参照可能。宣言部はプロシージャ外で。
引用返信 編集キー/
■23835 / inTopicNo.7)  Re[3]: 宣言について
□投稿者/ オガシン (52回)-(2008/08/22(Fri) 12:13:29)
No23833 (επιστημη さん) に返信
> 有効範囲というより"可視範囲"だなー Public/Privateなどなどは。

!!
表現おかしかったです。突っ込みありがとうございますm(__)m
引用返信 編集キー/
■23841 / inTopicNo.8)  Re[3]: 宣言について
□投稿者/ Mr.T (272回)-(2008/08/22(Fri) 13:50:21)
2008/08/22(Fri) 14:00:48 編集(投稿者)

>Dim…プロシージャ内で参照可能。宣言部はプロシージャ内で。
>Private…モジュール内で参照可能。宣言部はプロシージャ外で。

これ、Dimがプロシジャ内でしか使えないってことになりますけど。

そもそもDimは、変数宣言をするっていうことだけの話で、スコープとは違う。

http://msdn.microsoft.com/ja-jp/library/7ee5a7s1(VS.80).aspx

引用ここから--
暗黙的な Dim の使用 Public、Protected、Friend、Protected Friend、Private、Shared、Shadows、Static、ReadOnly、または WithEvents という修飾子を指定した場合は、Dim キーワードを省略できます。
--ココまで

単純にDimって書いた場合は、Privateと同じスコープを持つ。

http://msdn.microsoft.com/ja-jp/library/76453kax(VS.80).aspx

だから、省略しない書き方は、
Public Dim hoge as integer
Private Dim hoge as integer

という話です。

で、PrivateとPublicってなーに?というのはすでに皆さんが答えている通り。
引用返信 編集キー/
■23843 / inTopicNo.9)  Re[4]: 宣言について
□投稿者/ Mr.T (273回)-(2008/08/22(Fri) 13:59:59)
追記。
モジュール外でDimを使うとスコープがわからん、というために、Privateを使えというのは
同意。


蛇足だけども、

Private Sub メソッド
Private hoge as integer

end Sub
とは書けない。

Private Sub メソッド
Dim hoge as integer

end Sub
と書く。
引用返信 編集キー/
■23844 / inTopicNo.10)  Re[5]: 宣言について
□投稿者/ もょもと (37回)-(2008/08/22(Fri) 14:02:21)
> >Dim…プロシージャ内で参照可能。宣言部はプロシージャ内で。
> >Private…モジュール内で参照可能。宣言部はプロシージャ外で。
>
> これ、Dimがプロシジャ内でしか使えないってことになりますけど。
>
> そもそもDimは、変数宣言をするっていうことだけの話で、スコープとは違う。

あわわわわわわ。申し訳ございません。嘘言ってました。ご指摘の通りです。
Dimはプロシージャ内外で使いますもんね。ごめんなさい。

>追記。
>モジュール外でDimを使うとスコープがわからん、というために、Privateを使えというのは
>同意。

おおう…フォローまでありがとうございます。
引用返信 編集キー/
■23853 / inTopicNo.11)  Re[6]: 宣言について
□投稿者/ 初心者 (120回)-(2008/08/22(Fri) 16:19:55)
No23844 (もょもと さん) に返信
なるほど、なんとなく理解しました。
なかなかごちゃごちゃしてて覚えにくいところです。
引き続き勉強していきます。
引用返信 編集キー/
■23860 / inTopicNo.12)  Re[3]: 宣言について
□投稿者/ まさる (21回)-(2008/08/22(Fri) 16:41:50)
まさる さんの Web サイト
No23834 (もょもと さん) に返信
> Public…プロジェクト内の全てで参照可能。宣言部はプロシージャ外で。
プロジェクトの"外からも"参照可能。宣言部はプロシージャ外で。

ですね。

>プロジェクト内の全てで参照可能。宣言部はプロシージャ外で。

はFriendです。
引用返信 編集キー/
■23864 / inTopicNo.13)  Re[4]: 宣言について
□投稿者/ ただのしかばね (1回)-(2008/08/22(Fri) 17:20:18)
もょもとです。

>>Public…プロジェクト内の全てで参照可能。宣言部はプロシージャ外で。
> プロジェクトの"外からも"参照可能。宣言部はプロシージャ外で。
>
> ですね。
>
> >プロジェクト内の全てで参照可能。宣言部はプロシージャ外で。
>
> はFriendです。

ご指摘ありがとうございます。
ツッコミどころ満載な私の投稿をお読みになった方、ごめんなさい。
初心者さん、私の投稿はなかったことにして下さい。
っていうか、こんな間違いする奴もいるんだぜってことで流してやって下さい。
引用返信 編集キー/
■23912 / inTopicNo.14)  Re[5]: 宣言について
□投稿者/ じゃんぬねっと (555回)-(2008/08/24(Sun) 08:39:24)
インテリセンスでも、

Public Dim
Friend Dim
Protected Friend Dim
Protected Dim
Private Dim

とか出てきますよね、わかります。
引用返信 編集キー/
■23913 / inTopicNo.15)  Re[6]: 宣言について
□投稿者/ 倉田 有大 (284回)-(2008/08/24(Sun) 11:39:48)
No23912 (じゃんぬねっと さん) に返信
> インテリセンスでも、
>
> Public Dim
> Friend Dim
> Protected Friend Dim
> Protected Dim
> Private Dim
>
> とか出てきますよね、わかります。

vbってc#より難しく見えてきた><
classとネームスペースしかわからーん
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -