\r\n\r\n
C言語におけるフィールドとプロパティの重要な違いは、フィールドがクラス内で直接宣言された任意の型の変数であるのに対し、プロパティはプライベートフィールドの値を読み書きしたり計算したりするための柔軟なメカニズムを提供するメンバである点です。
C言語とは、マイクロソフト社が開発した現代的なプログラミング言語である。汎用的なプログラミング言語である。CLI(Common Language Interface)は、実行環境と実行ファイルから構成されています。C言語は、.NETフレームワーク上に構築された言語です。自動ゴミ収集、デリゲーション、言語統合問い合わせ(LINQ)などを提供し、簡単かつ迅速にプログラムを書くことができます。C言語の大きな利点は、オブジェクト指向プログラミング(OOP)をサポートしていることです。オブジェクトを使ったプログラムやソフトウェアの構築を支援します。システムでは、多くのオブジェクトが存在し、そのオブジェクトはメッセージを渡すためにメソッドを使用します。フィールドとプロパティは、OOPに関連する2つの用語です。今回は、C#のフィールドとプロパティの違いについて説明します。
1. 概要と主な相違点 2. C言語におけるフィールドとは #3. C言語におけるプロパティとは #4. C言語におけるフィールドとプロパティの関係 #5. 横並び比較 - 表形式でのC#フィールドとプロパティ 6. まとめ
それぞれのオブジェクトには、特徴や振る舞いがあります。従業員オブジェクトは、従業員番号、名前、部署などのフィールドを持つことができます。
図01:パブリックフィールドを持つプロシージャ
以上から、三角形はクラスである。base1、height1、area の3つの共通フィールドを持ち、コンストラクタで base1 と height に値を指定することができる。mainメソッドでは、三角形のオブジェクトが作成されます。これはt1と呼ばれ、baseとheightに2つの値が渡される。Triangleクラスのコンストラクタは、これらの値をフィールドに代入している。そして、mainメソッドの中で、calAreaメソッドが呼び出されます。三角形の面積を計算し、その答えを面積フィールドに代入します。最後に、displayメソッドが呼ばれ、画面に答えが出力されます。
OOPの大きな柱のひとつがカプセル化です。フィールドとメソッドを1つのユニットに圧縮することができます。データを保護するためにカプセル化が行われます。アクセス指定子は、フィールドやメソッドの可視性を変更するために使用することができます。パブリックメンバーは、クラスの外からアクセスすることができます。プライベートメンバーは、クラス内でのみアクセスすることができます。クラスへのアクセスを制限するために、フィールドをプライベートにすることができます。値の設定や取得は、パブリックメソッドで行うことができます。
図02:プライベートフィールドを持つプロシージャ
上のプログラムによれば、三角形はクラスである。base1、height1というフィールドがあります。私的な分野である。mainメソッドでは、三角形のオブジェクトが作成されます。details メソッドは三角形のインスタンスに対して呼び出される。base1 と height1 の値は details メソッドで受け入れられる。これらの取得した値は、base1 と height1 フィールドに割り当てられる。mainメソッドでは、t1オブジェクトに対してcalAreaメソッドが呼び出されています。面積を計算します。最後に、表示メソッドは三角形の面積を表示する。これらのフィールドはプライベートですが、パブリックメソッドでアクセスすることができます。
物件に保管場所がない。プロパティには、値の読み取りや設定を行う実行可能なステートメントを含むアクセッサがあります。アクセサ宣言は、getアクセサとsetアクセサを含むことができる。Employee というクラスがあり、Employee no、name、department などのプライベート・フィールドがあるとします。したがって、プログラマはプロパティを使用して値を設定したり、取得したりすることができます。このように、プロパティはプライベートなフィールドにアクセスするために使用することができます。
String型のnameプロパティは次のように宣言されている。"value "キーワードは指定された値を参照する。
公開文字列 name{
Get {return name; }.
設定{name=value;}。
}
以下の手順を参考にしてください。
図03:属性を持つC#プログラム
Employeeクラスは、idとnameの2つのプライベートフィールドを持ちます。idとnameはプロパティです。id 値の設定と取得には、id 属性を使用します。プロパティ名を使って、名前の値を設定したり取得したりします。Employee クラスの private id および private name フィールドは、プロパティを使用してアクセスされます。最後に、画面に値が表示されます。
C#のフィールドと属性 | |
フィールドは、クラス内で直接宣言された任意の型の変数です。 | 属性とは、プライベートフィールドの値の読み取り、書き込み、計算を行うための柔軟なメカニズムを提供するメンバである。 |
使用方法 | |
フィールドは、オブジェクトやクラスの特性を解釈するために使用することができます。 | プロパティは、フィールドの値の設定と受け取りに使用することができる。 |
オブジェクト指向では、プログラムやソフトウェアをオブジェクトでモデル化することができる。オブジェクトはクラスを使って作成します。クラスは、オブジェクトを作成するための青写真です。C#のOOPでは、フィールドとプロパティという2つの用語が使われています。この記事では、C#におけるフィールドとプロパティの違いについて説明します。Cにおけるフィールドとプロパティの違いは、フィールドがクラス内で直接宣言された任意の型の変数であるのに対し、プロパティはプライベートフィールドの値を読み書きまたは計算するための柔軟なメカニズムを提供するメンバであることです。