.net column
.NET開発者のためのブログメディア

C#でget/setを使う方法【C#のプロパティ】

 
C#でget/setを使う方法【C#のプロパティ】

C#を使っていると、「get/set」で書かれたコードを見る機会も多くあると思います。これらはプロパティと呼ばれるメソッドなのですが、「いまいちプロパティを理解していない……」と感じている方もいるのではないでしょうか。
この記事では、実際にget/setを利用しながらプロパティについて分かりやすく解説していきたいと思います。参考になれば幸いです。

PM
get/setは、隠蔽されているメンバ変数を取得・変更するためのメソッド(アクセサ)ですよ。
PG
なるほど。確かに、勝手に値が変更されていたらシステム上怖いですもんね。

C#のプロパティとは?

はじめに、C#のプロパティの概要について理解していきましょう。
プロパティとは、「メンバ変数の値を取得したり変更したりするための特殊なメソッド」で、アクセサと呼ばれたりもします。
※メンバ変数:クラスに定義されている変数。

例えるならば、メンバ変数にアクセスするための「窓口」のようなものです。
水族館や動物園に入場するとき、必ず窓口でチケットを購入してから場内に入ります。
反対に窓口を通さなければ、営業時間外に誰か怪しい人が入ってきてしまう可能性があります。これを防ぐために、プロパティはこの「窓口」の役割を果たしているのです。

C#でget/setを使ってみよう

プロパティについて理解できたところで、ここでは実際にget/setを使う方法を見ていきたいのですが、その前に基本ルールだけ確認しておきましょう。

基本ルール

  1. アクセス修飾子:どこからアクセスできるかを指定する
  2. アクセス修飾子には「public」「protected」「private」「修飾子なし」の4種類がある

  3. get:メンバ変数の値を取得するためのアクセサ
  4. set:メンバ変数の値を設定するためのアクセサ

そして以下が、年齢を取得するサンプルコードです。

実行結果
get/set実行結果

PG
get/setを使うのにはきちんとした理由があるんですね。
PM
そうですね。システムを作る上では必須の機能なんですよ!

get/setでメンバ変数へのアクセスを制限しよう

ここでは、C#のプロパティの概要やget/setの使い方について解説していきました。get/setを使うと、アクセス修飾子によってメンバ変数を隠ぺいすることができ、他のクラスから勝手に値を操作されることによるリスクを避けることができます。また、「get~」「set~」とコードが記述されていれば、自分以外の人がコードを読むときにも、どこで値を取得してどこで値をセットしているのかが分かりやすくなります。リスクを避けコードの可読性を上げるためにも、ぜひget/setの使い方をマスターしておきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags