Kotlini nähtavuse modifikaatorid

Selles artiklis saate teada kõigist 4 Kotlini nähtavuse modifitseerijast ja nende toimimisest erinevates stsenaariumides.

Nähtavuse modifikaatorid on märksõnad, mis määravad klasside, objektide, liidese, konstruktorite, funktsioonide, omaduste ja nende seadistajate nähtavuse (juurdepääsetavuse). (Te ei saa seada getterite nähtavuse modifikaatorit, kuna need võtavad alati sama nähtavuse kui vara.)

In Kotlin klassi ja objektid artikkel, siis teada nähtavust modifikaatoreid publicja privatelühidalt. Saate teada veel kahest nähtavuse modifikaatorist protectedja internal(ning ka publicja private) üksikasjalikult.

Nähtavuse muutjad pakendis

Pakett korraldab seotud funktsioonide, omaduste ja klasside, objektide ja liideste komplekti. Soovitatav lugemine: Kotlini paketid

Muutja Kirjeldus
avalik deklaratsioonid on kõikjal nähtavad
privaatne deklaratsiooni sisaldava faili sees
sisemine nähtav sama mooduli sees (kokku pandud Kotlini failide komplekt)
kaitstud pole pakettide jaoks saadaval (kasutatakse alaklassides)

Märkus. Kui nähtavuse modifikaatorit pole määratud, on see publicvaikimisi.

Võtame näite:

 // faili nimi: hello.kt paketi test fun fun1 () () // vaikimisi avalik ja nähtav kõikjal private fun function2 () () // hello.kt sisemine fun function3 () () // nähtav sama moodul var name = "Foo" // nähtav kõikjal () // tere.kt sees nähtav

Klasside ja liideste sees olevad nähtavuse muutjad

Klassides deklareeritud liikmete (funktsioonid, atribuudid) nähtavuse modifikaatorid toimivad järgmiselt.

Muutja Kirjeldus
avalik nähtav kõigile klientidele, kes näevad deklareerivat klassi
privaatne nähtav ainult klassi sees
kaitstud klassi ja selle alaklasside sees nähtav
sisemine nähtav kõigile mooduli sees olevatele klientidele, kes näevad deklareerivat klassi

Märkus. Kui alistate protectedtuletatud klassi liikme selle nähtavust määramata, on ka tema nähtavus sama protected.

Võtame näite:

 avatud klassi baas () (var a = 1 // vaikimisi avalik privaatne var b = 2 // privaatne kuni baasklassi kaitstud avatud val c = 3 // baasile nähtav ja tuletatud klassi sisemine val d = 4 // nähtav sama mooduli sees kaitstud fun e () () // baasile nähtav ja klass Derived (tuletatud) klass Derived: nähtavad Base klassi Base () (// a, c, d ja e () // b pole nähtav alista val c = 9 // c on kaitstud) fun main (args: Array) (val base = Base () // base.a ja base.d on nähtavad // base.b, base.c ja base .e () pole nähtavad val tuletatud = tuletatud () // tuletatud. c pole nähtav) 

Konstruktori nähtavuse muutmine

Vaikimisi on konstruktori nähtavus public. Kuid saate seda muuta. Selleks peate sõnaselgelt lisama constructormärksõna.

Konstruktor on publicvaikimisi toodud allpool toodud näites:

 klassi test (val a: Int) (// kood) 

Selle nähtavust saate muuta järgmiselt.

 klass Testige erasektori ehitajat (val a: Int) (// kood)

Siin on konstruktor private.

Märkus . Kotlinis ei saa kohalikel funktsioonidel, muutujatel ja klassidel olla nähtavuse modifikaatoreid.

Huvitavad Artiklid...