Enkapsulasi C#

WBOY
Lepaskan: 2024-09-03 15:05:35
asal
557 orang telah melayarinya

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 >;
Salin selepas log masuk

2. Fungsi getter pembolehubah, yang terkandung dalam C#.

get
{
return < variable name >;
}
Salin selepas log masuk

3. Fungsi setter pembolehubah, yang terkandung dalam C#.

set
{
return < variable name >;
}
Salin selepas log masuk

4. Pengisytiharan kelas yang akan merangkum dalam C#.

public class < class name >{
// Declare the elements of the public class.
}
Salin selepas log masuk

Bagaimana Enkapsulasi berfungsi dalam C#?

  • Konsep pengkapsulan wujud apabila data dalam aplikasi terdedah kepada rosak akibat ralat tidak ketara yang mungkin berlaku oleh mana-mana orang lain. Memandangkan data ialah elemen kritikal dalam konsep Pengaturcaraan Berorientasikan Objek, kita perlu mengelakkan sebarang pengubahsuaian tidak sengaja kepada data oleh mana-mana fungsi luar dan, dalam kursus, menyimpan data daripada sebarang serangan berniat jahat juga.
  • Cara data dikapsulkan adalah dengan mentakrifkan elemen sebagai peribadi dan menjadikannya supaya membenarkan pengubahsuaian boleh dilakukan dalam 2 cara sahaja. Ini adalah 2 cara yang akan kita bincangkan secara terperinci sekarang untuk mendapatkan gambaran lengkap tentang kerja enkapsulasi. Cara pertama adalah dengan pengakses dan mutator. Apabila kelas dibuat, kami menjadikan beberapa elemen peribadi, yang bermaksud elemen tersebut tidak mempunyai akses daripada elemen di luar kelas. Sekarang, kami membuat 2 fungsi yang memastikan bahawa jika sebarang pengubahsuaian atau pencarian perlu dilakukan, ia akan dilakukan oleh penyambung (untuk mendapatkan semula) dan mutator (untuk pengubahsuaian). Fungsi-fungsi ini adalah apa yang ditakrifkan sebagai awam supaya mana-mana fungsi/kelas di luar kelas asli boleh mengakses mutator dan pengakses. Cara lain ialah dengan menggunakan sifat, dan terdapat 2 sifat dapatkan dan set yang masing-masing membenarkan pengambilan dan pengubahsuaian elemen.
  • Daripada 2 cara ini, apabila pengakses yang dikehendaki dipanggil dalam kelas lain dengan mentakrifkan contoh kelas yang mengandungi elemen peribadi. Contoh ini, secara lalai, merangkumi semua fungsi awam kelas induk (kelas yang dimiliki oleh contoh itu). Kini menggunakan sifat awam/aksesor/mutator itu, tugas yang diperlukan dipanggil. Selepas dipanggil, tugasan yang sepadan diberikan sama ada untuk mendapatkan semula atau pengubahsuaian mengikut pilihan tugas itu dilakukan. Kerja ini boleh dianggap sebagai analog kepada organisasi yang hanya sesetengah orang dalam organisasi mempunyai akses kepada rekod kewangan (maklumat paling sulit), dan jika seseorang itu perlu mendapatkan semula atau mengubah suai mana-mana kemasukan, contoh jabatan kewangan dipanggil. dan memberikan tugas yang sepadan.

Contoh Enkapsulasi C#

Diberikan di bawah adalah contoh Enkapsulasi C#:

Contoh #1

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();
}
}
}
Salin selepas log masuk

Output:

Enkapsulasi C#

Contoh #2

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();
}
}
}
Salin selepas log masuk

Output:

Enkapsulasi C#

Contoh #3

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();
}
}
}
Salin selepas log masuk

Output:

Enkapsulasi C#

Kesimpulan

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!