بهترین ها همه در یک جا
در زبان برنامهنویسی C#، دسترسی به اعضای یک کلاس (مانند متغیرها، متدها و خواص) با استفاده از Access Modifiers (محدودکنندههای دسترسی) کنترل میشود. سه مورد اصلی از این محدودکنندهها عبارتند از: public، private و protected. در ادامه توضیح دقیق هر یک از این مفاهیم آورده شده است:
public تعریف میشود، به این معناست که آن عضو قابل دسترسی از هر نقطهای در برنامه است.public class MyClass
{
public int MyPublicField = 10;
}
class Program
{
static void Main()
{
MyClass obj = new MyClass();
Console.WriteLine(obj.MyPublicField);
}
}
private تعریف میشود، به این معناست که تنها در داخل همان کلاس قابل دسترسی است.public class MyClass
{
private int MyPrivateField = 20;
public void PrintPrivateField()
{
Console.WriteLine(MyPrivateField);
}
}
class Program
{
static void Main()
{
MyClass obj = new MyClass();
Console.WriteLine(obj.MyPrivateField);
obj.PrintPrivateField();
}
}
protected تعریف میشود، به این معناست که تنها در داخل کلاس خودش و در کلاسهای مشتقشده (زیرکلاسها) قابل دسترسی است.public class BaseClass
{
protected int MyProtectedField = 30;
}
public class DerivedClass : BaseClass
{
public void PrintProtectedField()
{
Console.WriteLine(MyProtectedField);
}
}
class Program
{
static void Main()
{
BaseClass obj = new BaseClass();
// Console.WriteLine(obj.MyProtectedField);
DerivedClass derivedObj = new DerivedClass();
derivedObj.PrintProtectedField();
}
}
private است.private برای پنهان کردن جزئیات پیادهسازی و حفظ Encapsulation استفاده کنید.protected برای اعضایی که باید در زیرکلاسها قابل دسترسی باشند استفاده کنید.public برای اعضایی که باید در سراسر برنامه قابل دسترسی باشند استفاده کنید.انتخاب بین public، private و protected به نوع طراحی کلاس و نیازهای برنامه بستگی دارد. استفاده صحیح از این محدودکنندهها به شما کمک میکند تا کدی با ساختاری تمیز، قابل نگهداری و امن بنویسید.
پاسخ نهایی :
public: قابل دسترسی از همه نقاطprivate: فقط در داخل کلاس قابل دسترسیprotected: در داخل کلاس و زیرکلاسها قابل دسترسی