tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル [解決] プロパティの定義方法で疑問
投稿日: 2008/06/30(Mon) 09:52
投稿者ダンボ
魔界の仮面弁士さん、いつもどうも有り難うございます。

よく分かりました。
何がどう分かったのかを(突っ込みどころ満載で)記してみましたので更にご指摘があればよろしくお願いします。

教訓1.クラス文の直下に書けるものは宣言(定義)文だけ
自己流解釈
・クラス文はクラスの(型)定義をするものであり、実行されるわけではない。直下に実行文を
 書いても実行するタイミングは無いから文法エラーにしておいたほうが良い。
・そう言えば、SubもFunctionもPropertyもDimも宣言(定義)文だった。
・ならば、Public Dim ABC As XXX、Private Dim ABC As XXXと書ける筈だ。しかし
 Dimだけは省略必須らしくPublic ABC As XXX、Private ABC As XXXと書き直された。

教訓2.PublicクラスのPublicなフィールド変数はプロパティのように使える。
自己流解釈
・誰からも存在が認識できるクラスオブジェクトの誰からも読み書きできる変数だからそうなる。
・クラスが構造体からの発展だと考えれば当たり前。
・よってPublicなフィールド変数は(広義のプロパティ)と考えても良い。
・では本当のプロパティのメリットは、
 (1)ReadOnly、WriteOnlyなどの制限を設けることができる。
 (2)ロジックを含めることができる。下記の例はフィールド変数への書き込みではできない。
    Public Property Modified() As Boolean
        Get
            Return innerModified
        End Get
        Set(ByVal value As Boolean)
            innerModified = value
            If value Then
                innerProfile.LastModifyDate = Now
                RaiseEvent Updated(Me, New EventArgs)
            End If
        End Set
    End Property


> Public な場合は、常にプロパティを使用すべきです。
> フィールド変数を Public にするのは、ReadOnly な場合だけにしておきましょう。
→このお作法のメリットが理解できません。(泣)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。