Junior
Kako se realizuje enkapsulacija u Kotlinu?
sobes.tech АИ
Одговор од АИ
Enkapsulacija u Kotlinu se postiže pomoću modifikatora pristupa i svojstava.
Modifikatori pristupa:
public: dostupno odakle god (po defaultu).internal: dostupno unutar istog modula.protected: dostupno u svojoj klasi i u njenim podklasama.private: dostupno samo unutar klase u kojoj je deklarisano.
Svojstva se koriste za upravljanje pristupom podacima klase. Mogu imati getter i setter, koje možemo prepisati da dodamo logiku pri čitanju ili pisanju vrednosti.
class Person {
// Privatno polje, dostupno samo unutar klase
private var _name: String = ""
// Svojstvo sa javnim getterom i privatnim setterom
var name: String
get() = _name
private set(value) {
_name = value
}
// Javno funkcija za postavljanje imena, kontroliše unos
fun setName(newName: String) {
if (newName.isNotBlank()) {
name = newName
} else {
println("Ime ne može biti prazno")
}
}
}
fun main() {
val person = Person()
person.setName("Alice") // Koristimo kontrolisanu metodu za promenu
println(person.name) // Čitanje vrednosti putem gettera
// person.name = "Bob" // Greška pri kompilaciji, setter je privatni
}