ホームページ  >  記事  >  バックエンド開発  >  C# の自動実装プロパティ

C# の自動実装プロパティ

WBOY
WBOYオリジナル
2024-09-03 15:21:49853ブラウズ

クラスの get メソッドおよび set メソッド内で使用するときにコードを必要としないプロパティは、C# では自動実装プロパティと呼ばれます。これを使用すると、指定されたコードがより読みやすく簡潔になり、コード内でこれらのプロパティが使用されると、コンパイラによってプライベート フィールドが作成されます。プライベート フィールドは、これらのプロパティに対応し、get メソッドと set メソッドのみを使用してアクセスできます。インターフェイスでは、自動実装プロパティに対応するコンパイラによって作成されるプライベート フィールドが許可されないため、このような自動実装プロパティをインターフェイスで宣言することはできません。これらは C# バージョン 3.0 以降のバージョンで利用できます。

構文

C# の自動実装プロパティの構文は次のとおりです。

Public data_type property_name{ get; set; }

ここで、data_type はプロパティのデータ型です。

property_name はプロパティの名前です。

C# 自動実装プロパティの動作

  • コードを持たない get メソッドおよび set メソッド内でいくつかのプロパティを使用する必要がある場合、そのようなプロパティは C# では自動実装プロパティと呼ばれます。
  • C# で自動実装されたプロパティを利用することで、コードがより簡潔で読みやすくなります。
  • 自動実装されたプロパティがプログラムで使用される場合、コンパイラーはこれらのプロパティに対応するプライベート フィールドを作成します。このフィールドには、set メソッドと get メソッドを使用する場合にのみアクセスできます。
  • 自動実装プロパティは、set メソッドと get メソッドのみを使用してアクセスできる、これらのプロパティに対応するコンパイラによって作成されたプライベート フィールドがインターフェイスで許可されていないため、インターフェイスで宣言できません。
  • 自動実装プロパティは、C# の 3.0 バージョンとそれ以降のバージョンの C# で導入されています。

C# の自動実装プロパティの例

さまざまな例を以下に示します:

例 #1

特定の変数を自動実装プロパティにして、get メソッドと set メソッドを使用した場合にのみアクセスできるようにすることで、書籍の詳細を取得するプログラムで自動実装プロパティをデモする C# プログラム。

コード:

using System;
using System.Collections.Generic;
//a namespace called check is defined
namespace Check
{
//a class called books is defined
class Books
{
// three auto implemented properties are defined which can be accessed using set and get method
public int BookID { get; set; }
public string BookName { get; set; }
public string BookAuthor { get; set; }
}
//a class called property is defined
class property
{
//main method is called
public static void Main(string[] args)
{
//an instance of the books class is created
Books books = new Books();
//the auto implemented properties defined before are set with certain values
books.BookID    = 10;
books.BookName  = "To Kill a mocking bird";
books.BookAuthor = "Harper Lee";
// the auto implemented properties defined before are obtained using get method
Console.WriteLine("The BookID of the given book is: {0} ", books.BookID);
Console.WriteLine("The name of the given book is: {0} ", books.BookName);
Console.WriteLine("The Author of the given book is: {0} ", books.BookAuthor);
}
}
}

出力:

C# の自動実装プロパティ

上記のプログラムでは、checkという名前空間が定義されています。次に、books というクラスが定義されます。次に、3 つの自動実装プロパティが定義され、set メソッドと get メソッドを使用してアクセスできます。次に、プロパティと呼ばれるクラスが定義されます。次に、本のクラスのインスタンスが作成されます。次に、前に定義した自動実装プロパティに特定の値が設定されます。次に、前に定義した自動実装プロパティが get メソッドを使用して取得されます。

例 #2

特定の変数を自動実装プロパティにして、get メソッドと set メソッドを使用した場合にのみアクセスできるようにすることで、書籍の詳細を取得するプログラムで自動実装プロパティをデモする C# プログラム。

コード:

using System;
using System.Collections.Generic;
//a namespace called check is defined
namespace Check
{
//a class called players is defined
class players
{
// three auto implemented properties are defined which can be accessed using set and get method
public int playerposition { get; set; }
public string playerName { get; set; }
public string playerteam { get; set; }
}
//a class called property is defined
class property
{
//main method is called
public static void Main(string[] args)
{
//an instance of the books class is created
players play = new players();
//the auto implemented properties defined before are set with certain values
play.playerposition    = 1;
play.playerName  = "Sachin Tendulkar";
play.playerteam = "India";
// the auto implemented properties defined before are obtained using get method
Console.WriteLine("The position  of the given player is: {0} ", play.playerposition);
Console.WriteLine("The name of the given player is: {0} ", play.playerName);
Console.WriteLine("The team for which the player plays is: {0} ", play.playerteam);
}
}
}

出力:

C# の自動実装プロパティ

上記のプログラムでは、checkという名前空間が定義されています。次に、players と呼ばれるクラスが定義されます。次に、3 つの自動実装プロパティが定義され、set メソッドと get メソッドを使用してアクセスできます。次に、プロパティと呼ばれるクラスが定義されます。次に、プレーヤーのクラスのインスタンスが作成されます。次に、前に定義した自動実装プロパティに特定の値が設定されます。次に、前に定義した自動実装プロパティを get メソッドを使用して取得します。最終的に、出力は上のスナップショットのようになります。

メリット

C# で自動実装プロパティを使用することには、いくつかの利点があります。それらは次のとおりです:

  • アプリケーション プログラミング インターフェイスは、自動実装されたプロパティを利用することで将来も保証できます。その結果、後からゲッターまたはセッターでロジックを使用する場合でも、アプリケーション プログラミング インターフェイスは変わりません。
  • データ バインディングは、自動実装されたプロパティを使用することによってのみ可能です。これは、データ バインディング フレームワークがプロパティに対してのみ機能し、フィールドに対しては機能しないためです。

結論

このチュートリアルでは、定義、構文、プログラミング例とその出力、およびその利点を通じて、C# の自動実装プロパティの概念を理解します。

以上がC# の自動実装プロパティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。