C# のカプセル化は、カプセル化の機能を満たす組み込みの C# プログラミング言語機能として定義されます。カプセル化機能を理解するには、カプセル化は 1 つ以上のアイテムを 1 つのユニットにラップし、それらのアイテムに論理的または物理的な類似性があることを確認することとして定義されます。これにより、それらを一緒にパッケージ化する理由が得られます。これらは実装の詳細へのアクセスが確実に防止されるようにパッケージ化されており、これによりデータの改ざんが防止されます。詳細にアクセスできる唯一の方法は、クラスの getter 関数を使用することです。また、詳細を変更する唯一の方法は、setter 関数を使用することです。収集されたデータ メンバーとメンバー関数を 1 つのエンティティにパッケージ化したエンティティは、クラスと呼ばれます。
カプセル化 C# の構文
sprintf を使用するというアイデアは、アプリケーションの必要に応じていつでも参照できるように、コンソールに印刷可能なメッセージを出力するのではなく、印刷可能なメッセージを保存するという代替アプローチとして普及し始めました。 sprintf は「String Print」の略で、ここでは C の sprintf 関数の構文を見て、構文内のパラメーターや引数を理解します。
1. C# でカプセル化する変数の宣言。
private < data type > < variable name >;
2. C# でカプセル化された変数のゲッター関数。
get { return < variable name >; }
3. C# でカプセル化された変数のセッター関数。
set { return < variable name >; }
4. C# でカプセル化するクラスの宣言。
public class < class name >{ // Declare the elements of the public class. }
以下はカプセル化 C# の例です:
アクセサーとミューテーターを使用してクラス内のプライベート変数にアクセスしようとしています (このコードではエラーが発生します)。
コード:
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string GetName() { return name; } public void SetName(string n) { name = n; } public string GetDept() { return name; } public void SetDepartname(string d) { dept = d; } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.name = "AmKy"; e.dept = "EduCBA"; e.Display(); Console.ReadLine(); } } }
出力:
適切なアクセサーとミューテーター ジャンルを使用して、クラスの要素にアクセスし、変更します。
コード:
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string GetName() { return name; } public void SetName(string n) { name = n; } public string GetDept() { return name; } public void SetDepartname(string d) { dept = d; } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.SetName("AmKy"); e.SetDepartname("EduCBA"); e.Display(); Console.ReadLine(); } } }
出力:
プロパティを使用したカプセル化。
コード:
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string DeptProp { get { return dept; } set { dept = value; } } public string EmpName { get { return name; } set { name = value; } } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.EmpName = "Employee 2"; e.DeptProp = "Finance"; e.Display(); Console.ReadLine(); } } }
出力:
この記事では、C# でカプセル化がどのように行われるかを例とともに説明し、他のクラスからプライベート オブジェクトにアクセスすると、たとえ親クラスのインスタンスを介してもエラーが発生し、エラーが発生する可能性があることも理解しました。コードを実行できなくなります。
以上がカプセル化C#の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。