पब्लिक एक्सेस स्पेसिफायर
पब्लिक एक्सेस स्पेसिफायर एक वर्ग को अपने सदस्य चर और सदस्य कार्यों को अन्य कार्यों और वस्तुओं को उजागर करने की अनुमति देता है। किसी भी सार्वजनिक सदस्य को कक्षा के बाहर से एक्सेस किया जा सकता है।
उदाहरण
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