কম্পিউটার

C# এ সর্বজনীন, সুরক্ষিত এবং ব্যক্তিগত অ্যাক্সেস স্পেসিফায়ারের মধ্যে পার্থক্য কী?


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

পাবলিক অ্যাক্সেস স্পেসিফায়ার একটি ক্লাসকে তার সদস্য ভেরিয়েবল এবং সদস্য ফাংশনগুলিকে অন্যান্য ফাংশন এবং অবজেক্টে প্রকাশ করতে দেয়। যে কোনো পাবলিক সদস্য ক্লাসের বাইরে থেকে অ্যাক্সেস করা যেতে পারে।

উদাহরণ

using System;
namespace Demo {
   class Rectangle {
      public double length;
      public double width;
      public double GetArea() {
         return length * width;
      }  
      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   } //end class Rectangle
   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.length = 7;
         r.width = 10;
         r.Display();
         Console.ReadLine();
      }
   }
}

আউটপুট

Length: 7
Width: 10
Area: 70

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

সুরক্ষিত অ্যাক্সেস স্পেসিফায়ার একটি চাইল্ড ক্লাসকে সদস্য ভেরিয়েবল এবং তার বেস ক্লাসের সদস্য ফাংশন অ্যাক্সেস করতে দেয়।

আসুন সুরক্ষিত অ্যাক্সেস মডিফায়ারের একটি উদাহরণ দেখি, সুরক্ষিত সদস্যদের অ্যাক্সেস করা।

উদাহরণ

using System;
namespace MySpecifiers {
   class Demo {
      protected string name = "Website";
      protected void Display(string str) {
         Console.WriteLine("Tabs: " + str);
      }
   }
   class Test : Demo {
      static void Main(string[] args) {
         Test t = new Test();
         Console.WriteLine("Details: " + t.name);
         t.Display("Product");
         t.Display("Services");
         t.Display("Tools");
         t.Display("Plugins");
      }
   }
}

আউটপুট

Details: Website
Tabs: Product
Tabs: Services
Tabs: Tools
Tabs: Plugins

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

প্রাইভেট অ্যাক্সেস স্পেসিফায়ার একটি ক্লাসকে তার সদস্য ভেরিয়েবল এবং সদস্য ফাংশনগুলিকে অন্যান্য ফাংশন এবং অবজেক্ট থেকে লুকানোর অনুমতি দেয়। শুধুমাত্র একই শ্রেণীর ফাংশন এর ব্যক্তিগত সদস্যদের অ্যাক্সেস করতে পারে। এমনকি একটি ক্লাসের একটি উদাহরণ তার ব্যক্তিগত সদস্যদের অ্যাক্সেস করতে পারে না।

উদাহরণ

using System;
namespace Demo {
   class Rectangle {
      //member variables
      private double length;
      private double width;
      public void Acceptdetails() {
         length = 10;
         width = 15;
      }
      public double GetArea() {
         return length * width;
      }
      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   }//end class Rectangle
   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine();
      }  
   }
}

আউটপুট

Length: 10
Width: 15
Area: 150

  1. জাভাতে একটি JScrollBar এবং একটি JScrollPane মধ্যে পার্থক্য কি?

  2. জাভাতে একটি MouseListener এবং একটি MouseMotionListener এর মধ্যে পার্থক্য কি?

  3. Wi-Fi 6 এবং 5G নেটওয়ার্কের মধ্যে পার্থক্য কী?

  4. Windows 10 এবং Windows 11 এর মধ্যে পার্থক্য কি?