C#の属性(プロパティ)
プロパティ(プロパティ)(名前付き)のメンバーという名前のクラス(クラス)、構造(構造)とのインタフェース(インタフェース)です。クラスや構造体のメンバ変数やメソッドは、ドメイン(フィールド)と呼ばれます。プロパティ(プロパティ)ドメイン(フィールド)の拡張であり、同じ構文を使用してアクセスすることができます。 彼らは、アクセサ(アクセサ)privateフィールドの値を読み出すことができることができるかの操作を使用しています。
プロパティ(プロパティ)保管場所を決定するものではありません。 その代わりに、彼らは読み書きを持っているか、その値アクセサ(アクセサ)を計算します。
例えば、年齢、名前とプライベートドメインのコードと生徒というクラスがあります。 私たちは、直接クラスのスコープ外でこれらのフィールドにアクセスすることはできませんが、我々は、これらのプライベートプロパティのフィールドにアクセスすることができます。
アクセサ(アクセサ)
プロパティ(プロパティ)アクセサ(アクセサ)が (読み取りまたは計算)または設定(書き込み)の実行文を属性取得に役立つ情報が含まれています。アクセサ(アクセサ)ステートメントは、getアクセサ、setアクセサが含まれている、またはその両方を含むことができます。 例えば:
//コードの文字列型のパブリック文字列コードのプロパティを宣言 { ゲット { コードを返します。 } セット { コード=値; } } //文字列型のパブリック文字列の名前のName属性を宣言 { ゲット { 名前を返します。 } セット { 名前=値; } } //年齢のint型の公共int型の年齢のプロパティを宣言 { ゲット { 年齢を返します。 } セット { 年齢=値; } }
例
次の例は、プロパティ(プロパティ)使用法を示しています。
システムを用いました。 名前空間のtutorialspoint { クラスの学生 { プライベート文字列のコード= "NA"; プライベート文字列名= "知りません"。 プライベートint型の年齢= 0; //コードの文字列型のパブリック文字列コードのプロパティを宣言 { ゲット { コードを返します。 } セット { コード=値; } } //文字列型のパブリック文字列の名前のName属性を宣言 { ゲット { 名前を返します。 } セット { 名前=値; } } //年齢のint型の公共int型の年齢のプロパティを宣言 { ゲット { 年齢を返します。 } セット { 年齢=値; } } 公共オーバーライド文字列のToString() { 「コード= "+コード+を返す」、名=" +名+」、年齢= "+年齢; } } クラスExampleDemo { 公共の静的な無効メイン() { //)(新しい学生対象の学生の=新しい学生を作成します。 //設定し、学生のコード、名前と年齢 s.Code = "001"。 s.Name = "ザラ"; s.Age = 9; Console.WriteLineを( "学生情報:{0}"、s)は、 //加齢のs.Age + = 1; Console.WriteLineを( "学生情報:{0}"、s)は、 Console.ReadKey()。 } } }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
学生情報:コード= 001、名前=ザラ、年齢= 9 学生情報:コード= 001、名前=ザラ、年齢= 10
抽象プロパティ(抽象プロパティ)
抽象クラスは、派生クラスで実装されるべき抽象特性を有することができます。 次のプログラムは、この点を示しています。
システムを用いました。 名前空間のtutorialspoint { パブリック抽象クラスPerson { パブリック抽象文字列名 { 取得します。 設定します。 } パブリック抽象int型の年齢 { 取得します。 設定します。 } } クラスの学生:人 { プライベート文字列のコード= "NA"; プライベート文字列名= "NA"; プライベートint型の年齢= 0; //コードの文字列型のパブリック文字列コードのプロパティを宣言 { ゲット { コードを返します。 } セット { コード=値; } } //文字列型のパブリックオーバーライド列名のName属性を宣言 { ゲット { 名前を返します。 } セット { 名前=値; } } // int型のパブリックオーバーライドint型の年齢の年齢のプロパティを宣言 { ゲット { 年齢を返します。 } セット { 年齢=値; } } 公共オーバーライド文字列のToString() { 「コード= "+コード+を返す」、名=" +名+」、年齢= "+年齢; } } クラスExampleDemo { 公共の静的な無効メイン() { //)(新しい学生対象の学生の=新しい学生を作成します。 //設定し、学生のコード、名前と年齢 s.Code = "001"。 s.Name = "ザラ"; s.Age = 9; Console.WriteLineを( "学生情報: - {0}"、s)は、 //加齢のs.Age + = 1; Console.WriteLineを( "学生情報: - {0}"、s)は、 Console.ReadKey()。 } } }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
学生情報:コード= 001、名前=ザラ、年齢= 9 学生情報:コード= 001、名前=ザラ、年齢= 10