佐々木屋

技術的なことから趣味まで色々書きます

1.C#、VB.NET-3.クラス-2.プロパティ

インデクサ

ユーザー定義型(構造体やクラス)のオブジェクトに対して、配列のような特定要素を取得・設定できる仕組みをインデクサと言います。VB.NETでは既定のプロパティとも言います。インデクサはメソッドとプロパティの両方の性質を持ち合わせた機能です。 getter…

クラスのプロパティ④(アクセスレベル制御)

getter、setterそれぞれにアクセス修飾子を設定することが可能です。 C#のみ、自動実装プロパティでも従来の記述でもどちらも設定可能です。 //読み取り、書き込みともに公開 public string Hoge { get; set; } //読み取りのみ公開、書き込みはクラス内部か…

クラスのプロパティ③(getter/setter制御)

外部からの制御用として読み取り、書き込みの設定制御が可能です。 C#とVB.NETで少し記法が異なりますので注意しましょう。 読み取り専用 //getterのみを記述すれば読み取り専用となる //自動実装プロパティの場合 public string Hoge1 { get; } //通常記述…

クラスのプロパティ②(自動実装)

前回お話した通り、プロパティは自分でgetアクセサとsetアクセサを設定する必要がありました。自動実装プロパティを利用すると、この部分を簡略して記述することが可能です。 //通常 private string _hoge; public string Hoge { get { return _hoge; } set …

クラスのプロパティ①(基本)

クラスのプロパティはオブジェクト指向プログラミングの中でも非常に有用で、クラス構築ではなくてはならない存在です。オブジェクト指向プログラミングの話でよく出てくる「隠蔽」を実現することができます。VB6出身であれば分かりますが、所謂Public変数を…

VB.NETのプロパティは引数を付けられる

便利なのか余計なお世話なのか分かりませんが、VB.NETのプロパティは引数を実装できます。 例えば以下のような感じ。 Private piyo As String() = {"a", "b", "c"} Public ReadOnly Property Hoge(ByVal index As Integer) As String Get Return piyo(index)…