Kotlin Görünürlük Değiştiricileri

Bu yazıda, Kotlin'deki 4 görünürlük değiştiricinin hepsini ve farklı senaryolarda nasıl çalıştıklarını öğreneceksiniz.

Görünürlük değiştiriciler, sınıfların, nesnelerin, arayüzün, yapıcıların, işlevlerin, özelliklerin ve bunların ayarlayıcılarının görünürlüğünü (erişilebilirliğini) ayarlayan anahtar sözcüklerdir. (Alıcıların görünürlük değiştiricisini her zaman mülkün görünürlükle aynı görünüme sahip oldukları için ayarlayamazsınız.)

Kotlin Sınıfı ve Nesneleri makalesinde, görünürlük değiştiricileri publicve privatekısaca öğrendiniz . İki görünürlük değiştirici hakkında protectedve internal(yanı sıra publicve private) ayrıntılı olarak öğreneceksiniz .

Paket İçinde Görünürlük Değiştiriciler

Bir paket, bir dizi ilgili işlevi, özelliği ve sınıfı, nesneleri ve arabirimleri düzenler. Önerilen okuma: Kotlin Paketleri

Değiştirici Açıklama
halka açık bildirimler her yerde görülebilir
özel beyanı içeren dosyanın içinde görünür
aynı modül içinde görülebilir (birlikte derlenmiş bir dizi Kotlin dosyası)
korumalı paketler için mevcut değildir (alt sınıflar için kullanılır)

Not: Görünürlük değiştirici belirtilmezse, publicvarsayılan olarak budur.

Bir örnek alalım:

 // dosya adı: merhaba.kt paket test eğlence işlevi1 () () // varsayılan olarak genel ve her yerde görünür özel eğlence işlevi2 () () // merhaba içinde görünür. dahili eğlence işlevi3 () () // içinde görünür aynı modül var name = "Foo" // her yerde görünür get () = alan // merhaba.kt içinde görünür (özelliğiyle aynı) özel küme (değer) (// merhaba.kt alanı = değer içinde görünür) özel sınıf sınıf1 () // merhaba.kt içinde görünür

Sınıflar ve Arayüzler İçinde Görünürlük Değiştiriciler

Görünürlük değiştiriciler, bir sınıf içinde bildirilen üyeler (işlevler, özellikler) için şu şekilde çalışır:

Değiştirici Açıklama
halka açık beyan eden sınıfı görebilen herhangi bir müşteri tarafından görülebilir
özel yalnızca sınıfın içinde görünür
korumalı sınıfın ve alt sınıflarının içinde görünür
bildiren sınıfı görebilen modül içindeki herhangi bir istemciye görünür

Not:protected Türetilmiş sınıftaki bir üyeyi görünürlüğünü belirtmeden geçersiz kılarsanız , görünürlüğü de olacaktır protected.

Bir örnek alalım:

 open class Base () (var a = 1 // varsayılan olarak public private var b = 2 // private to Base class korumalı open val c = 3 // Base tarafından görülebilir ve Derived class internal val d = 4 // görünür aynı modül korumalı fun e () () // Base ve Derived sınıfına görünür) sınıfı Derived: Base () (// a, c, d ve e () Base sınıfının // b görünür değil geçersiz kılma val c = 9 // c korumalı) fun main (args: Array) (val base = Base () // base.a ve base.d görünür // base.b, base.c ve base .e () görünür değil val türetildi = Türetildi () // türetildi. c görünmez) 

Bir İnşaatçının Görünürlüğünü Değiştirme

Varsayılan olarak, bir yapıcının görünürlüğü şeklindedir public. Ancak bunu değiştirebilirsiniz. Bunun için açıkça constructoranahtar kelime eklemeniz gerekir .

Aşağıdaki publicörnekte yapıcı varsayılan olarak:

 sınıf Test (değer a: Int) (// kod) 

Görünürlüğünü nasıl değiştirebileceğiniz aşağıda açıklanmıştır.

 class Özel oluşturucuyu test et (val a: Int) (// kod)

İşte kurucu private.

Not: Kotlin'de yerel işlevler, değişkenler ve sınıflar görünürlük değiştiricilere sahip olamaz.

Ilginç makaleler...