পাবলিক অ্যাক্সেস স্পেসিফায়ার
পাবলিক অ্যাক্সেস স্পেসিফায়ার একটি ক্লাসকে তার সদস্য ভেরিয়েবল এবং সদস্য ফাংশনগুলিকে অন্যান্য ফাংশন এবং অবজেক্টে প্রকাশ করতে দেয়। যে কোনো পাবলিক সদস্য ক্লাসের বাইরে থেকে অ্যাক্সেস করা যেতে পারে।
উদাহরণ
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