Pengubah Penglihatan Kotlin

Dalam artikel ini, anda akan belajar tentang semua 4 pengubah penglihatan di Kotlin dan bagaimana ia berfungsi dalam senario yang berbeza.

Pengubah keterlihatan adalah kata kunci yang menetapkan keterlihatan (kebolehcapaian) kelas, objek, antara muka, pembina, fungsi, sifat dan penyusunnya. (Anda tidak dapat menetapkan pengubah penglihatan pengirim kerana mereka selalu melihat penglihatan yang sama dengan harta tanah.)

Dalam artikel Kotlin Class and Objects, anda mengetahui tentang pengubah penglihatan publicdan privatesecara ringkas. Anda akan belajar mengenai dua pengubah penglihatan lagi protecteddan internal(serta publicdan private) secara terperinci.

Pakej Pengubah Penglihatan

Pakej mengatur sekumpulan fungsi, sifat dan kelas, objek, dan antara muka yang berkaitan. Bacaan yang disyorkan: Pakej Kotlin

Pengubah Penerangan
awam deklarasi dapat dilihat di mana-mana
peribadi kelihatan di dalam fail yang mengandungi deklarasi
dalaman kelihatan di dalam modul yang sama (satu set fail Kotlin disusun bersama)
dilindungi tidak tersedia untuk pakej (digunakan untuk subkelas)

Catatan: Sekiranya pengubah penglihatan tidak ditentukan, ia publicsecara lalai.

Mari kita ambil contoh:

 // nama fail: hello.kt pakej fungsi mengasyikkan fungsi 1 () () // awam secara lalai dan kelihatan di mana-mana fungsi keseronokan peribadi2 () () // kelihatan di dalam fungsi keseronokan dalaman hello.kt3 () () // kelihatan di dalam modul modul yang sama nama = "Foo" // kelihatan di mana-mana get () = medan // dapat dilihat di dalam hello.kt (sama dengan hartanya) set peribadi (nilai) (// kelihatan di dalam bidang hello.kt = nilai) kelas kelas peribadi1 () // kelihatan di dalam hello.kt

Pengubah Penglihatan Dalam Kelas dan Antara Muka

Inilah cara pengubahsuaian penglihatan berfungsi untuk ahli (fungsi, sifat) yang dinyatakan dalam kelas:

Pengubah Penerangan
awam dapat dilihat oleh mana-mana pelanggan yang dapat melihat kelas pengisytiharan
peribadi kelihatan di dalam kelas sahaja
dilindungi kelihatan di dalam kelas dan subkelasnya
dalaman dapat dilihat oleh mana-mana pelanggan di dalam modul yang dapat melihat kelas pengisytiharan

Catatan: Sekiranya anda mengatasi protectedahli di kelas turunan tanpa menyatakan keterlihatannya, keterlihatannya juga akan protected.

Mari kita ambil contoh:

 kelas terbuka Pangkalan () (var a = 1 // awam secara lalai varian peribadi b = 2 // peribadi ke kelas Dasar dilindungi terbuka val c = 3 // dapat dilihat pada Pangkalan dan Derived kelas dalaman val d = 4 // kelihatan di dalam modul yang sama dilindungi keseronokan e () () // dapat dilihat pada kelas Base dan Derived) class Derived: Base () (// a, c, d, dan e () dari kelas Base kelihatan // b tidak kelihatan override val c = 9 // c dilindungi) fun main (args: Array) (val base = Base () // base.a dan base.d kelihatan // base.b, base.c dan base .e () tidak kelihatan val turunan = Berasal () // berasal.c tidak kelihatan) 

Mengubah Penglihatan Pembina

Secara lalai, keterlihatan konstruktor adalah public. Walau bagaimanapun, anda boleh mengubahnya. Untuk itu, anda perlu menambahkan constructorkata kunci secara jelas .

Pembina publicsecara lalai dalam contoh di bawah:

 Ujian kelas (val a: Int) (// kod) 

Inilah cara anda dapat mengubah keterlihatannya.

 kelas Uji pembina peribadi (val a: Int) (// kod)

Inilah konstruktornya private.

Catatan: Di Kotlin, fungsi, pemboleh ubah dan kelas tempatan tidak boleh mempunyai pengubah penglihatan.

Artikel menarik...