privat (Referensi C#)
Kata kunci private
adalah pengubah akses anggota.
Halaman ini mencakup akses
private
. Kata kunciprivate
juga merupakan bagian dari pengubah aksesprivate protected
.
Akses privat merupakan tingkat akses yang paling tidak permisif. Anggota privat hanya bisa diakses dalam isi kelas atau struktur tempat mereka dinyatakan, seperti dalam contoh ini:
class Employee
{
private int _i;
double _d; // private access by default
}
Tipe yang berada di badan yang sama juga bisa mengakses anggota pribadi tersebut.
Ini merupakan kesalahan waktu kompilasi untuk mereferensikan anggota privat di luar kelas atau struktur di mana ia dinyatakan.
Untuk perbandingan private
dengan pengubah akses lainnya, lihat Tingkat Aksesibilitas dan Pengubah Akses.
Contoh
Dalam contoh berikut ini, Employee
kelas berisi dua anggota data privat, _name
dan _salary
. Sebagai anggota privat, mereka tidak bisa diakses kecuali dengan metode anggota. Metode publik bernama GetName
dan Salary
ditambahkan agar memungkinkan akses terkontrol ke anggota privat. Anggota _name
diakses dengan cara metode publik, dan anggota _salary
diakses dengan cara properti baca-saja publik. Untuk informasi selengkapnya, lihat Properti.
class Employee2
{
private readonly string _name = "FirstName, LastName";
private readonly double _salary = 100.0;
public string GetName()
{
return _name;
}
public double Salary
{
get { return _salary; }
}
}
class PrivateTest
{
static void Main()
{
var e = new Employee2();
// The data members are inaccessible (private), so
// they can't be accessed like this:
// string n = e._name;
// double s = e._salary;
// '_name' is indirectly accessed via method:
string n = e.GetName();
// '_salary' is indirectly accessed via property
double s = e.Salary;
}
}
Spesifikasi bahasa C#
Untuk informasi selengkapnya, lihat Aksesibilitas yang dinyatakan di Spesifikasi Bahasa C#. Spesifikasi bahasa adalah sumber definitif untuk sintaks dan penggunaan C#.