Modifikátory viditeľnosti Kotlin

V tomto článku sa dozviete o všetkých 4 modifikátoroch viditeľnosti v Kotline a o tom, ako fungujú v rôznych scenároch.

Modifikátory viditeľnosti sú kľúčové slová, ktoré nastavujú viditeľnosť (prístupnosť) tried, objektov, rozhraní, konštruktorov, funkcií, vlastností a ich nastavovacích prvkov. (Nemôžete nastaviť modifikátor viditeľnosti getrov, pretože vždy majú rovnakú viditeľnosť ako vlastnosť objektu.)

V Kotlin triedy a objekty článku ste sa dozvedeli o modifikátory viditeľnosti publica privatev stručnosti. Dozviete sa o ďalších dvoch modifikátoroch viditeľnosti protecteda internal(rovnako ako publica private) podrobne.

Modifikátory viditeľnosti vo vnútri balenia

Balík organizuje množinu súvisiacich funkcií, vlastností a tried, objektov a rozhraní. Odporúčame prečítať: Balíky Kotlin

Modifikátor Popis
verejné vyhlásenia sú viditeľné všade
súkromné viditeľné vo vnútri súboru obsahujúceho vyhlásenie
interné viditeľné vo vnútri toho istého modulu (súbor súborov Kotlin zostavený dohromady)
chránené nie je k dispozícii pre balíčky (používa sa pre podtriedy)

Poznámka: Ak nie je zadaný modifikátor viditeľnosti, je publicto predvolene.

Uveďme si príklad:

 // názov súboru: hello.kt balík test fun fun1 () () // štandardne verejné a viditeľné všade súkromná fun2 () () // viditeľné vo vnútri hello.kt interná fun3 () () // viditeľné vo vnútri rovnaký modul var name = "Foo" // viditeľné všade get () = pole // viditeľné vo vnútri hello.kt (rovnaké ako jeho vlastnosť) súkromná sada (hodnota) (// viditeľné vo vnútri hello.kt pole = hodnota) súkromná trieda class1 () // viditeľné vo vnútri hello.kt

Modifikátory viditeľnosti vo vnútri tried a rozhraní

Takto fungujú modifikátory viditeľnosti pre členov (funkcie, vlastnosti) deklarovaných vo vnútri triedy:

Modifikátor Popis
verejné viditeľné pre všetkých klientov, ktorí môžu vidieť deklaračnú triedu
súkromné viditeľné iba vo vnútri triedy
chránené viditeľné vo vnútri triedy a jej podtried
interné viditeľné pre každého klienta v rámci modulu, ktorý vidí deklaračnú triedu

Poznámka: Ak prepíšete protectedčlena v odvodenej triede bez určenia jeho viditeľnosti, bude tiež viditeľný protected.

Uveďme si príklad:

 otvorená trieda Base () (var a = 1 // verejné predvolene súkromné ​​var b = 2 // súkromné ​​pre základnú triedu chránené otvorené val c = 3 // viditeľné pre Base a odvodenú triedu vnútorná hodnota d = 4 // viditeľné vo vnútri toho istého modulu chránená zábava trieda e () () // viditeľná pre triedu Base a Derived) Derived: Base () (// a, c, d a e () triedy Base sú viditeľné // b nie je viditeľné prepísať val c = 9 // c je chránený) fun main (args: Array) (val base = Base () // base.a a base.d sú viditeľné // base.b, base.c a base .e () nie sú viditeľné val odvodené = odvodené () // odvodené.c nie je viditeľné) 

Zmena viditeľnosti konštruktéra

Štandardne je viditeľnosť konštruktora public. Môžete to však zmeniť. K tomu musíte výslovne pridať constructorkľúčové slovo.

Konštruktor je publicpredvolene uvedený v príklade nižšie:

 test triedy (hodnota a: Int) (// kód) 

Tu môžete zmeniť jeho viditeľnosť.

 trieda Test súkromného konštruktora (val a: Int) (// kód)

Tu je konštruktér private.

Poznámka: V Kotline nemôžu mať miestne funkcie, premenné a triedy modifikátory viditeľnosti.

Zaujímavé články...