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