Bagikan melalui


privat (Referensi C#)

Kata kunci private adalah pengubah akses anggota.

Halaman ini mencakup akses private. Kata kunci private juga merupakan bagian dari pengubah akses private 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#.

Lihat juga