کپسولهسازی (Encapsulation) در C#
کپسولهسازی یکی از اصول مهم برنامهنویسی شیءگرا است که به ما کمک میکند دادهها را مخفی کنیم و فقط از طریق متدها یا ویژگیهای کنترلشده به آنها دسترسی داشته باشیم.
Encapsulation چیست؟
کپسولهسازی یعنی مخفی کردن دادههای داخلی یک کلاس و کنترل دسترسی به آنها از طریق public members. این کار باعث افزایش امنیت و جلوگیری از تغییرات ناخواسته میشود.
استفاده از private field
public class User
{
private string _name;
private int _age;
public void SetName(string name)
{
_name = name;
}
public string GetName()
{
return _name;
}
}
استفاده از Property (روش استاندارد)
در C# معمولاً به جای متدهای Get/Set از Property استفاده میشود.
public class User
{
public string Name { get; set; }
public int Age { get; set; }
}
کنترل دسترسی در Property
میتوان دسترسی به set را محدود کرد.
public class User
{
public string Name { get; private set; }
public void ChangeName(string name)
{
Name = name;
}
}
چرا Encapsulation مهم است؟
- جلوگیری از تغییر مستقیم دادهها
- افزایش امنیت دادهها
- کنترل بهتر روی منطق تغییر state
- قابلیت نگهداری بهتر کد
مثال واقعی
public class BankAccount
{
private decimal _balance;
public void Deposit(decimal amount)
{
if (amount > 0)
_balance += amount;
}
public bool Withdraw(decimal amount)
{
if (amount > 0 && _balance >= amount)
{
_balance -= amount;
return true;
}
return false;
}
public decimal GetBalance()
{
return _balance;
}
}
جمعبندی
کپسولهسازی باعث میشود ساختار برنامه امنتر، قابل کنترلتر و قابل توسعهتر باشد. این اصل یکی از پایههای اصلی OOP در C# است.