Kotlinin näkyvyyden muokkaajat

Tässä artikkelissa opit kaikista 4 Kotlinin näkyvyyden muuttajasta ja niiden toiminnasta eri tilanteissa.

Näkyvyyden muokkaajat ovat avainsanoja, jotka asettavat luokkien, objektien, käyttöliittymän, rakentajien, toimintojen, ominaisuuksien ja niiden asettajien näkyvyyden (saavutettavuuden). (Et voi asettaa näkymän modifiointilaitetta, koska niiden näkyvyys on aina sama kuin ominaisuuden.)

Kotlin Class and Objects -artikkelissa opit näkyvyyden muokkaajista publicja privatelyhyesti. Opit vielä kahdesta näkyvyyden muokkaajasta protectedja internal(samoin kuin publicja private) yksityiskohtaisesti.

Näkyvyyden muokkaajat pakkauksen sisällä

Paketti järjestää joukon toisiinsa liittyviä toimintoja, ominaisuuksia ja luokkia, objekteja ja rajapintoja. Suositeltava lukeminen: Kotlin Packages

Muokkaaja Kuvaus
julkinen ilmoitukset näkyvät kaikkialla
yksityinen näkyvät ilmoituksen sisältävän tiedoston sisällä
sisäinen näkyvät saman moduulin sisällä (Kotlin-tiedostojen sarja koottu yhteen)
suojattu ei saatavilla paketeille (käytetään alaluokissa)

Huomaa: Jos näkyvyyden muokkaajaa ei ole määritetty, se on publicoletuksena.

Otetaan esimerkki:

 // tiedoston nimi: hello.kt -paketin hauskatoiminto1 () () // oletusarvoisesti julkinen ja näkyy kaikkialla yksityinen hauskatoiminto2 () () // näkyvissä hello.kt: n sisäinen hauska toiminto3 () () // näkyvissä sama moduuli var name = "Foo" // näkyvissä kaikkialla get () = field // näkyvissä hello.kt: n sisällä (sama kuin sen ominaisuus) yksityinen joukko (arvo) (// näkyvissä hello.kt field = value) yksityisen luokan luokka1 () // näkyy hello.kt: n sisällä

Näkyvyyden muokkaajat luokkien ja liitäntöjen sisällä

Näin näkyvyyden muokkaajat toimivat luokan sisällä ilmoitetuille jäsenille (toiminnot, ominaisuudet):

Muokkaaja Kuvaus
julkinen näkyvä kaikille asiakkaille, jotka näkevät ilmoitettavan luokan
yksityinen näkyvät vain luokan sisällä
suojattu näkyvät luokan ja sen alaluokkien sisällä
sisäinen näkyvät kaikille moduulin sisällä oleville asiakkaille, jotka näkevät ilmoitettavan luokan

Huomaa: Jos ohitat protectedjohdetun luokan jäsenen määrittelemättä sen näkyvyyttä, myös sen näkyvyys on protected.

Otetaan esimerkki:

 avoimen luokan Base () (var a = 1 // julkinen oletusarvoisesti yksityinen var b = 2 // yksityinen - Base-luokkaan suojattu avoin val c = 3 // näkyvä tukiasemalle ja johdetun luokan sisäinen val d = 4 // näkyvissä saman moduulin sisällä suojattu fun e () () // tukiasemalle ja johdettu luokka) luokka Johdettu: Base-luokan Base () (// a, c, d ja e () näkyvät // b ei ole näkyvissä ohittaa val c = 9 // c on suojattu) fun main (args: Array) (val base = Base () // base.a ja base.d ovat näkyvissä // base.b, base.c ja base .e () eivät ole näkyvissä val johdettu = Johdettu () // johdettu. c ei ole näkyvissä) 

Rakentajan näkyvyyden muuttaminen

Rakentajan näkyvyys on oletusarvoisesti public. Voit kuitenkin muuttaa sitä. Tätä varten sinun on lisättävä nimenomaisesti constructoravainsana.

Rakentaja on publicoletusarvoisesti alla olevassa esimerkissä:

 luokan testi (val a: Int) (// koodi) 

Näin voit muuttaa sen näkyvyyttä.

 luokka Testaa yksityinen rakentaja (val a: Int) (// koodi)

Tässä rakentaja on private.

Huomaa: Kotlinissa paikallisilla funktioilla, muuttujilla ja luokilla ei voi olla näkyvyyden muokkaajia.

Mielenkiintoisia artikkeleita...