কম্পিউটার টিউটোরিয়াল

C#-তে public, protected এবং private অ্যাক্সেস স্পেসিফায়ারের পার্থক্য

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

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

উদাহরণ

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()); 
        } 
    } 
    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

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

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

উদাহরণ

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

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

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

উদাহরণ

using System; 
namespace Demo { 
    class Rectangle { 
        // মেম্বার ভেরিয়েবল 
        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()); 
        } 
    } 
    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. ওয়াই-ফাই ৬ এবং ৫জি নেটওয়ার্কের মধ্যে পার্থক্য কী?

  4. উইন্ডোজ ১০ বনাম উইন্ডোজ ১১: মূল পার্থক্য ও আপনার জন্য কোনটি সঠিক