Encapsulation dalam C# ditakrifkan sebagai fungsi bahasa pengaturcaraan C# terbina dalam untuk memenuhi fungsi enkapsulasi. Untuk memahami fungsi enkapsulasi, ia ditakrifkan sebagai membungkus satu atau lebih item kepada satu unit dan pastikan ia mempunyai persamaan logik atau fizikal, yang menjadikan alasan untuk membungkusnya bersama-sama. Mereka dibungkus bersama untuk memastikan akses kepada butiran pelaksanaan dihalang, dan dengan melakukan ini, pengubahan kepada data dihalang. Satu-satunya cara butiran boleh diakses adalah melalui fungsi getter dalam kelas, dan satu-satunya cara untuk mengubah suai butiran adalah melalui fungsi setter. Entiti berpakej yang mempunyai ahli data yang dikumpul dan fungsi ahli menjadi satu entiti dikenali sebagai kelas.
Sintaks Enkapsulasi C#
Idea untuk mempunyai sprintf mula mendapat populariti apabila ia menjadi pendekatan alternatif untuk melihat penyimpanan mesej yang boleh dicetak dan bukannya mencetaknya dalam konsol supaya ia boleh dirujuk pada bila-bila masa mengikut keperluan aplikasi. Sprintf bermaksud "Cetak Rentetan", dan di sini kita akan melihat perspektif sintaks fungsi sprintf dalam C dan memahami parameter atau argumen dalam sintaks.
1. Pengisytiharan pembolehubah yang akan dikapsulkan dalam C#.
private < data type > < variable name >;
2. Fungsi getter pembolehubah, yang terkandung dalam C#.
get { return < variable name >; }
3. Fungsi setter pembolehubah, yang terkandung dalam C#.
set { return < variable name >; }
4. Pengisytiharan kelas yang akan merangkum dalam C#.
public class < class name >{ // Declare the elements of the public class. }
Diberikan di bawah adalah contoh Enkapsulasi C#:
Cuba untuk mengakses pembolehubah peribadi dalam kelas menggunakan pengakses & mutator (RALAT dijangka dalam kod ini).
Kod:
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(); } } }
Output:
Menggunakan genre aksesori dan mutator yang sesuai untuk mengakses dan mengubah suai elemen kelas.
Kod:
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(); } } }
Output:
Pengenkapsulan menggunakan sifat.
Kod:
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(); } } }
Output:
Dalam artikel ini, kami telah melalui cara bagaimana enkapsulasi dilakukan dalam C# bersama-sama dengan contoh di mana kami juga memahami bagaimana mengakses mana-mana objek peribadi dari kelas lain, walaupun melalui contoh kelas induk, boleh membawa kepada ralat dan menjadikan kod tidak boleh dijalankan.
Atas ialah kandungan terperinci Enkapsulasi C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!