●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

フィールドへのアクセスを制御!「プロパティ(Property)」とは?

C#には、フィールド(変数)へのアクセスを安全に行うための仕組みとして プロパティ(Property) があります。
値の取得(get)や設定(set)の処理をカプセル化することで、クラスの内部を守りつつ、外部に公開できます。

プロパティの基本構文

public 型名 プロパティ名 {
    get { return 値; }
    set { 値 = value; }
}
    

例:プロパティを使ったクラス

public class Person {
    private string name;

    public string Name {
        get { return name; }
        set { name = value; }
    }
}
    

この例では、nameフィールドに直接アクセスさせず、Nameというプロパティを通して値の取得・変更を行っています。

プロパティの使い方

Person p = new Person();
p.Name = "太郎";                // set
Console.WriteLine(p.Name);     // get
    

自動実装プロパティ(短い書き方)

フィールドの定義と同時にプロパティを簡潔に書く方法です。

public class Person {
    public string Name { get; set; }
}
    

get / set に処理を追加することも可能

private int age;

public int Age {
    get { return age; }
    set {
        if (value >= 0) {
            age = value;
        } else {
            Console.WriteLine("年齢は0以上を指定してください");
        }
    }
}
    

読み取り専用・書き込み専用プロパティ

// 読み取り専用(getのみ)
public string Id { get; }

// 書き込み専用(setのみ)
public string Password { private get; set; }
    

プロパティのメリット

  • 外部からのアクセスを制御できる
  • データの整合性・安全性を確保できる
  • フィールドの代わりに柔軟な振る舞いを追加できる

まとめ

プロパティ(Property)は、クラスの内部データを安全に公開・操作するための機能です。
get / setを使えば、フィールドへの読み書きをコントロールでき、C#のクラス設計に欠かせない存在です。
自動実装プロパティ手動プロパティを使い分けることで、柔軟なクラスが作れます!

 

C#関連用語集

−−−−−  C#  −−−−−

C#の基本単位「クラス(Class)」とは?

クラスから生まれる実体「オブジェクト(Object)」とは?

クラスの実体「インスタンス(Instance)」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

フィールドへのアクセスを制御!「プロパティ(Property)」とは?

クラスが持つデータ「フィールド(Field)」とは?

クラスの動作を定義する「メソッド(Method)」とは?

既存のクラスを引き継ぐ「継承(Inheritance)」とは?

同じ命令で異なる動きができる「多態性(Polymorphism)」とは?

データを守る「カプセル化(Encapsulation)」とは?

土台だけを用意する「抽象クラス(Abstract Class)」とは?

ルールを定める仕組み「インターフェース(Interface)」とは?

親クラスのメソッドを上書きする「オーバーライド(Override)」とは?

引数の違いで同じ名前が使える「オーバーロード(Overload)」とは?

C#で自分自身を指す「thisキーワード」とは?

親クラスの機能を使う「baseキーワード」とは?

インスタンス不要で使える「static(静的)」とは?

値を変えたくないときに使う「readonly / const(定数)」とは?

メソッドを渡せる仕組み「delegate(デリゲート)」とは?

「何かが起きたら知らせる」仕組み「event(イベント)」とは?

簡潔な書き方ができる「ラムダ式(Lambda Expression)」とは?

C#で使える「LINQ(言語統合クエリ)」とは?

エラーから安全に回復する「例外処理(try-catch-finally)」とは?

意図的にエラーを発生させる「throw(スロー)」とは?

名前空間やリソースを扱う「usingディレクティブ」とは?

クラスの整理に便利な「namespace(名前空間)」とは?

型を柔軟に扱う「ジェネリクス(Generics)」とは?

データの集まりを扱う「コレクション(List / Dictionary / HashSet)」とは?

処理を止めずに進める「非同期処理(async / await)」とは?

簡単に使えて便利!「自動実装プロパティ」と「プロパティ初期化子」