プログラミング学習日記

プログラミング学習時のメモ帳。

C#<プロパティ>

間違っている場所あったら優しく教えてね

プロパティとは

変数の拡張版のようなもの。型の一つと考えて良い。変数の型intは整数値一つのみを代入することができる。変数を変更するにはclass.変数名に代入しなくてはならない。プロパティを用いると変数の代入、取得が楽になる。

クラスの外から見ると変数クラスの中から見るとメソッドと書いてある記事もあった。

プロパティの機能

プロパティの重要なこととしてアクセサーが存在する。アクセサーとは変数を変更、取得するメソッドのことである。上記の例であげるとnameagen変数を取得、変更するメソッドのことである。アクセサーはプロパティ内部から見たら完全にメソッドの一つとなっている。

アクセサー=メソッド

主要アクセサー

主要アクセサーにはsetgetが存在する。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で返す値を一つ指定する。

ひとこと

アクセサーは他にもあるらしい。 変数の扱いなどを簡単にしてくれる便利な機能。この機能がない言語もあるらしい。 ボクにとっては結構難しい概念であった。

参考サイト

プロパティ - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

ブログを見ていただきありがとうございました