সি শার্প (C#) প্রোগ্রামিং ভাষায় অ্যাক্সেস মডিফায়ারস ব্যবহার করে ক্লাস, মেথড, এবং ভেরিয়েবলের অ্যাক্সেস নিয়ন্ত্রণ করা হয়। অ্যাক্সেস মডিফায়ারস নির্ধারণ করে একটি প্রোগ্রামের কোন অংশে কোন সদস্য (মেথড, প্রোপার্টি, ইত্যাদি) অ্যাক্সেসযোগ্য হবে। এতে মূলত private, public, protected, এবং internal অ্যাক্সেস মডিফায়ারস রয়েছে।
public
public
মডিফায়ার দ্বারা সংজ্ঞায়িত কোনো ক্লাস, মেথড, বা প্রোপার্টি সব জায়গা থেকে অ্যাক্সেসযোগ্য। এটি সর্বোচ্চ স্তরের অ্যাক্সেস প্রদান করে।
public class Person
{
public string Name; // Public property
public void DisplayInfo() // Public method
{
Console.WriteLine("Name: " + Name);
}
}
public
ব্যবহার করা হয়।private
private
মডিফায়ার ব্যবহার করে সংজ্ঞায়িত কোনো ফিল্ড, প্রোপার্টি বা মেথড শুধুমাত্র সেই ক্লাসের ভিতরে অ্যাক্সেসযোগ্য। এটি সর্বনিম্ন স্তরের অ্যাক্সেস প্রদান করে।
public class Person
{
private string name; // Private property
public void SetName(string name) // Public method to set private property
{
this.name = name;
}
public void DisplayInfo() // Public method to display private property
{
Console.WriteLine("Name: " + name);
}
}
protected
protected
মডিফায়ার ব্যবহার করে সংজ্ঞায়িত কোনো মেম্বার শুধুমাত্র সেই ক্লাস এবং তার ইনহেরিটেড (derived) ক্লাসগুলিতে অ্যাক্সেসযোগ্য।
public class Person
{
protected string Name; // Protected property
public void SetName(string name)
{
Name = name;
}
}
public class Employee : Person
{
public void DisplayInfo()
{
Console.WriteLine("Name: " + Name); // Accessing protected property from derived class
}
}
internal
internal
মডিফায়ার ব্যবহার করে সংজ্ঞায়িত কোনো মেম্বার শুধুমাত্র সেই অ্যাসেম্বলি বা প্রোজেক্টের মধ্যে অ্যাক্সেসযোগ্য। এটি সাধারণত একই প্রোজেক্ট বা অ্যাসেম্বলি থেকে কোড শেয়ারিংয়ের জন্য ব্যবহৃত হয়।
internal class Person
{
internal string Name; // Internal property
internal void DisplayInfo() // Internal method
{
Console.WriteLine("Name: " + Name);
}
}
protected internal
protected internal
একটি কম্বাইন্ড মডিফায়ার যা সেই ক্লাসের মধ্যে, একই অ্যাসেম্বলি থেকে এবং ইনহেরিটেড (derived) ক্লাস থেকে অ্যাক্সেসযোগ্য।
public class Person
{
protected internal string Name; // Protected internal property
}
protected
এবং internal
অ্যাক্সেস নিশ্চিত করতে।using System;
namespace AccessModifiersExample
{
public class Person
{
// Private field
private string name;
// Public property
public int Age { get; set; }
// Internal method
internal void SetName(string name)
{
this.name = name;
}
// Protected method
protected void DisplayName()
{
Console.WriteLine("Name: " + name);
}
// Public method
public void ShowAge()
{
Console.WriteLine("Age: " + Age);
}
}
public class Employee : Person
{
public void ShowInfo()
{
// Calling protected method from base class
DisplayName();
}
}
class Program
{
static void Main(string[] args)
{
Person person = new Person();
person.Age = 25;
person.ShowAge();
Employee employee = new Employee();
employee.SetName("Alice");
employee.ShowInfo();
}
}
}
Age: 25
Name: Alice
সি শার্পে বিভিন্ন অ্যাক্সেস মডিফায়ার ব্যবহার করে প্রোগ্রামের বিভিন্ন অংশে মেম্বারদের অ্যাক্সেস নিয়ন্ত্রণ করা যায়। public
সব জায়গা থেকে অ্যাক্সেসযোগ্য, private
শুধুমাত্র সেই ক্লাসের মধ্যে সীমাবদ্ধ, protected
বেস এবং ডেরাইভড ক্লাসে অ্যাক্সেসযোগ্য, এবং internal
একই অ্যাসেম্বলিতে সীমাবদ্ধ। অ্যাক্সেস মডিফায়ারগুলি সঠিকভাবে ব্যবহার করলে ডেটার নিরাপত্তা এবং এনক্যাপসুলেশন নিশ্চিত করা যায়।
আরও দেখুন...