C#<プロパティ>
間違っている場所あったら優しく教えてね
プロパティとは
変数の拡張版のようなもの。型の一つと考えて良い。変数の型int
は整数値一つのみを代入することができる。変数を変更するにはclass.変数名
に代入しなくてはならない。プロパティを用いると変数の代入、取得が楽になる。
クラスの外から見ると変数クラスの中から見るとメソッドと書いてある記事もあった。
プロパティの機能
プロパティの重要なこととしてアクセサーが存在する。アクセサーとは変数を変更、取得するメソッドのことである。上記の例であげるとnameやagen変数を取得、変更するメソッドのことである。アクセサーはプロパティ内部から見たら完全にメソッドの一つとなっている。
アクセサー=メソッド
主要アクセサー
主要アクセサーにはset
とget
が存在する。set
はその名の通り変数(プロパティないのメンバ変数)に値を代入するアクセサー。get
は変数を取得するアクセサーである。
使い方
using system; //classの設定 class Person { private string name; private int age; public string Name //←プロパティ { get { this.name = value; } set { return this.name; } } public int Age //←プロパティ { get { this.age = value; } set { return this.age; } } } //classの使用 class sample { static void Main() { Person p = new Person(); p.Name = Yamada; // Nameプロパティのsetアクセサー p.Age = 20; // Nameプロパティのsetアクセサー Console.Write(p.Name); // Ageプロパティのgetアクセサー Console.Write(p.Age); // Ageプロパティのgetアクセサー }
このように簡単に変数に値を代入、取得することが可能になる。
set
アクセサーvalue
とは、代入された値のことである。(上記の例だとYamada)
get
アクセサー- returnで返す値を一つ指定する。
ひとこと
アクセサーは他にもあるらしい。 変数の扱いなどを簡単にしてくれる便利な機能。この機能がない言語もあるらしい。 ボクにとっては結構難しい概念であった。