Junior
Porozprávaj o modifikátoroch prístupu v Jave a Kotline.
sobes.tech AI
Odpoveď od AI
V Jave:
public: dostupný odkiaľkoľvek.protected: dostupný v rámci triedy, balíka a podtried.- (bez modifikátora): dostupný v rámci balíka (package-private).
private: dostupný iba v rámci triedy.
V Kotlin:
public: dostupný odkiaľkoľvek (predvolené).internal: dostupný v rámci modulu.protected: dostupný v rámci triedy a jej podtried (líši sa od Javy v prístupe v balíku).private: dostupný iba v rámci triedy/súboru.
Rozdiely:
- V Kotlin neexistuje modifikátor "package-private", jeho ekvivalent je
internals iným rozsahom (modul). - V Kotlin
protectedneposkytuje prístup v rámci balíka ako v Jave. - V Kotlin
privatemožno použiť aj pre deklarácie na úrovni top-level (funkcie, vlastnosti) v súbore, čím ich robí dostupnými iba v tomto súbore.
// Príklad v Kotlin
package com.example.myapp
private const val API_KEY = "secret" // Viditeľný iba v tomto súbore
class MyClass {
private val internalState = 1 // Viditeľný iba v rámci MyClass
protected fun protectedMethod() {} // Viditeľný v MyClass a jej podtriedach
internal fun internalMethod() {} // Viditeľný v rámci modulu
}