কম্পিউটার

C# এ উপলব্ধ বিভিন্ন ধরনের অ্যাক্সেস মডিফায়ার কি কি?


অ্যাক্সেস মডিফায়ারগুলি ক্লাসের কোনও সদস্যের অ্যাক্সেসযোগ্যতার সুযোগ বা ক্লাসেরই ধরন নির্দিষ্ট করতে ব্যবহৃত হয়। ছয়টি ভিন্ন ধরনের অ্যাক্সেস মডিফায়ার রয়েছে।

  • সর্বজনীন

  • ব্যক্তিগত

  • সুরক্ষিত

  • অভ্যন্তরীণ

  • সুরক্ষিত অভ্যন্তরীণ

  • ব্যক্তিগত সুরক্ষিত

পাবলিক অ্যাক্সেস মডিফায়ার

যে অবজেক্টগুলি পাবলিক অ্যাক্সেস মডিফায়ারগুলি প্রয়োগ করে সেগুলি কোনও সীমাবদ্ধতা ছাড়াই একটি প্রকল্পের সব জায়গা থেকে অ্যাক্সেসযোগ্য৷

উদাহরণ

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name);
         //Person Name is accessible as it is public
      }
   }
   public class Person{
      public string Name = "Mark";
   }
}

ব্যক্তিগত অ্যাক্সেস মডিফায়ার

যে অবজেক্টগুলি ব্যক্তিগত অ্যাক্সেস সংশোধক প্রয়োগ করে শুধুমাত্র একটি শ্রেণী বা কাঠামোর মধ্যে অ্যাক্সেসযোগ্য। ফলস্বরূপ, আমরা তাদের তৈরি করা ক্লাসের বাইরে তাদের অ্যাক্সেস করতে পারি না।

উদাহরণ

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name);
         //Since Name is private it is not accessible in Program class.
         // Error: Person.Name is inaccessible due to its protection level.
      }
   }
   public class Person{
      private string Name = "Mark";
   }
}

সুরক্ষিত অ্যাক্সেস মডিফায়ার

সুরক্ষিত কীওয়ার্ডটি বোঝায় যে অবজেক্টটি ক্লাসের ভিতরে এবং সেই ক্লাস থেকে উদ্ভূত সমস্ত ক্লাসে অ্যাক্সেসযোগ্য৷

উদাহরণ

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Employee employee = new Employee();
         employee.Print(); //Output: Mark
         Person person = new Person();
         Console.WriteLine(person.Name);
         // Error: Person.Name is inaccessible due to its protection level.
      }
   }
   public class Person{
      protected string Name = "Mark";
   }
   public class Employee : Person{
      public void Print(){
         Console.WriteLine(Name);
      }
   }
}

অভ্যন্তরীণ অ্যাক্সেস মডিফায়ার

অভ্যন্তরীণ কীওয়ার্ডের জন্য, অ্যাক্সেস শুধুমাত্র বর্তমান প্রকল্প সমাবেশের মধ্যে সংজ্ঞায়িত ক্লাসের মধ্যে সীমাবদ্ধ।

উদাহরণ

প্রকল্প 1

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name); //Output: Mark
      }
   }
   public class Person{
      internal string Name = "Mark";
   }
}

আউটপুট

Mark

প্রকল্প 2

using MyApplication;
using System;
namespace Project2{
   public class Project2Class{
      public void Print(){
         Person person = new Person();
         Console.WriteLine(person.Name);
         // Error: Person.Name is inaccessible due to its protection level.
      }
   }
}

সুরক্ষিত অভ্যন্তরীণ অ্যাক্সেস মডিফায়ার -

সুরক্ষিত অভ্যন্তরীণ অ্যাক্সেস মডিফায়ার সুরক্ষিত এবং অভ্যন্তরীণ সমন্বয়। ফলস্বরূপ, আমরা সুরক্ষিত অভ্যন্তরীণ সদস্যকে শুধুমাত্র একই অ্যাসেম্বলিতে বা অন্য অ্যাসেম্বলিতে প্রাপ্ত ক্লাসে অ্যাক্সেস করতে পারি।

উদাহরণ

প্রকল্প 1

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name); //Output: Mark
      }
   }
   public class Person{
      protected internal string Name = "Mark";
   }
}

আউটপুট

Mark

প্রকল্প 2

using MyApplication;
using System;
namespace Project2{
   public class Project2Class : Person{
      public void Print(){
         Console.WriteLine(Name); //Output: Mark
      }
   }
}

ব্যক্তিগত সুরক্ষিত অ্যাক্সেস মডিফায়ার

ব্যক্তিগত সুরক্ষিত অ্যাক্সেস মডিফায়ার হল ব্যক্তিগত এবং সুরক্ষিত কীওয়ার্ডের সংমিশ্রণ। আমরা ধারণকারী শ্রেণীতে বা একটি শ্রেণীতে সদস্যদের অ্যাক্সেস করতে পারি যা একটি ধারণকারী শ্রেণী থেকে উদ্ভূত হয়, কিন্তু শুধুমাত্র একই সমাবেশে (প্রকল্প)। অতএব, যদি আমরা অন্য সমাবেশ থেকে এটি অ্যাক্সেস করার চেষ্টা করি, আমরা একটি ত্রুটি পাব। এই সংশোধকটি C# সংস্করণ 7.2 এবং পরবর্তীতে বৈধ৷


  1. C# ASP.NET WebAPI-তে বিভিন্ন ধরনের ফিল্টার কী কী?

  2. পাইথনে বিভিন্ন বিটওয়াইজ অপারেটর কি কি?

  3. পাইথনে বিভিন্ন আইডেন্টিটি অপারেটর কি কি?

  4. পাইথনে বিভিন্ন ধরনের উদ্ধৃতি কি কি?