Bagikan melalui


privat (Referensi C#)

Pengubah akses anggota adalah kata kunci private.

Artikel ini membahas private akses. Kata private kunci juga merupakan bagian dari pengubah private protected akses.

Referensi bahasa C# mendokumentasikan versi bahasa C# yang paling baru dirilis. Ini juga berisi dokumentasi awal untuk fitur dalam pratinjau publik untuk rilis bahasa yang akan datang.

Dokumentasi mengidentifikasi fitur apa pun yang pertama kali diperkenalkan dalam tiga versi terakhir bahasa atau dalam pratinjau publik saat ini.

Petunjuk / Saran

Untuk menemukan kapan fitur pertama kali diperkenalkan di C#, lihat artikel tentang riwayat versi bahasa C#.

Akses privat adalah tingkat akses paling tidak permisif. Anda hanya dapat mengakses anggota privat dalam isi kelas atau struktur tempat Anda mendeklarasikannya, seperti yang ditunjukkan dalam contoh berikut:

class Employee
{
    private int _i;
    double _d;   // private access by default
}

Jenis berlapis dalam isi yang sama juga dapat mengakses anggota privat tersebut.

Jika Anda mereferensikan anggota privat di luar kelas atau struktur tempat Anda mendeklarasikannya, pengkompilasi mengembalikan kesalahan.

Untuk perbandingan private dengan pengubah akses lainnya, lihat Tingkat Aksesibilitas dan Pengubah Akses.

Dalam contoh ini, Employee kelas berisi dua anggota data privat, _name dan _salary. Sebagai anggota privat, metode anggota adalah satu-satunya cara untuk mengaksesnya. Contoh menambahkan metode publik bernama GetName dan Salary untuk memungkinkan akses terkontrol ke anggota privat. Anggota _name diakses dengan cara metode publik, dan _salary anggota 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 dalam Spesifikasi Bahasa C#. Spesifikasi bahasa adalah sumber definitif untuk sintaks dan penggunaan C#.

Lihat juga