タイトル | : Re: クラス名について |
記事No | : 6745 |
投稿日 | : 2007/12/28(Fri) 14:02 |
投稿者 | : よねKEN |
> 私はこれまで人から教えてもらったことから、クラス名は、はじめに"cls"をつけていました(例えば、"clsCar")。
VB6以前は一応は標準的な名前付けの方法だったと思います。 VB.net(VB.net2002(7.0)、2003(7.1)、VB2005(8.0)、VB2008(9.0))になってからは、 プレフィックスを付けないのが一般的になっていますね。
> しかし、"cls"をつけるのは一般的ではないと最近思い、 > "cls"をつけないでクラス名を宣言することにしています。 > そうすると、当然のことながら、クラス名とオブジェクト名が同じになって、 > エラーが出ると思うのですが、こういう場合は皆さんどのようにして解決されていますか?
私の場合ですが、ローカル変数とインスタンス変数/クラス変数とで扱いを変えます。
○ローカル変数の場合 System.IO.StreamReaderというファイル操作をするときにはよく使うクラスを例にとると このクラスの場合、たいていは1メソッドの中でのみ使うローカル変数を宣言して使うので、 例えば以下のように宣言します。
例1) Dim sr As StreamReader
クラスの頭文字を取っただけの名前です。 短い範囲でしか変数srを使わないので、それで特に困ることがありません。
ただし、ローカル変数でも重要なものは他の変数とはっきり区別できる 意味のある名前を付けますので、必ず上記のような略称を使うという意味ではありません。
○インスタンス変数/クラス変数 インスタンス変数はプロパティのために用意されることが多いと思いますが、 その場合は、以下のように宣言します。
例2) ' インスタンス変数の宣言 Private m_Count As Integer
' プロパティの宣言 Public ReadOnly Property Count() As Integer Get m_Count End Get End Property
プロパティの名前と合わせた上でプレフィックスとして"m_"を付けるスタイルです。 つまり、"m_"を付けるという点とクラス名に関わらずその意味に即した形で命名するということです。 特に意味づけが不要な場合はクラス名をそのまま使うこともありますが、 この場合も"m_"を付けているので問題ありません。
あまりやりませんが、Publicな変数を宣言する場合は、クラス名をそのまま変数名にすることもあります。
例3) Public Color As Color
>クラス名とオブジェクト名が同じになって、エラーが出ると思うのですが
お勧めはしませんが、文法上も動作上も特に問題はありませんよ。
|