ตัวระบุการเข้าถึงแบบส่วนตัวอนุญาตให้คลาสซ่อนตัวแปรสมาชิกและฟังก์ชันสมาชิกจากฟังก์ชันและอ็อบเจ็กต์อื่นๆ เฉพาะฟังก์ชันของคลาสเดียวกันเท่านั้นที่สามารถเข้าถึงสมาชิกส่วนตัวได้ แม้แต่อินสแตนซ์ของชั้นเรียนก็ไม่สามารถเข้าถึงสมาชิกส่วนตัวได้
สร้างตัวแปรส่วนตัว -
private double length;
เรามาดูตัวอย่างกัน ที่นี่ หากเราจะพยายามเข้าถึงตัวแปรความยาวซึ่งตั้งค่าเป็นส่วนตัว จะเกิดข้อผิดพลาดต่อไปนี้
BoxApplication.Box.length' is inaccessible due to its protection level
เรามาดูตัวอย่างฉบับสมบูรณ์กันเถอะ −
ตัวอย่าง
using System;
namespace BoxApplication {
class Box {
private double length; // Length of a box
private double breadth; // Breadth of a box
private double height; // Height of a box
public void setLength( double len ) {
length = len;
}
public void setBreadth( double bre ) {
breadth = bre;
}
public void setHeight( double hei ) {
height = hei;
}
public double getVolume() {
return length * breadth * height;
}
}
class Boxtester {
static void Main(string[] args) {
Box Box1 = new Box(); // Declare Box1 of type Box
Box Box2 = new Box();
double volume;
// ACcessing private variables outside the class gives an error.
// Box1.length = 10;
Box1.setLength(6.0);
Box1.setBreadth(7.0);
Box1.setHeight(5.0);
// box 2 specification
Box2.setLength(12.0);
Box2.setBreadth(13.0);
Box2.setHeight(10.0);
// volume of box 1
volume = Box1.getVolume();
Console.WriteLine("Volume of Box1 : {0}" ,volume);
// volume of box 2
volume = Box2.getVolume();
Console.WriteLine("Volume of Box2 : {0}", volume);
Console.ReadKey();
}
}
}