Junior
Kā tiek īstenota inkapsulācija Kotlin?
sobes.tech AI
Atbilde no AI
Kotlin iekapsulēšana tiek panākta, izmantojot piekļuves modifikatorus un īpašības.
Piekļuves modifikatori:
public: pieejams no jebkuras vietas (noklusējums).internal: pieejams tajā pašā modulī.protected: pieejams savā klasē un tās apakšklasēs.private: pieejams tikai tajā klasē, kurā tas ir deklarēts.
Īpašības tiek izmantotas, lai pārvaldītu piekļuvi klases datiem. Tām var būt getter un setter, kurus var pārrakstīt, lai pievienotu loģiku, lasot vai rakstot vērtību.
class Person {
// Privāts lauks, pieejams tikai klasē
private var _name: String = ""
// Īpašība ar publisku getter un privātu setter
var name: String
get() = _name
private set(value) {
_name = value
}
// Publiska funkcija vārda iestatīšanai, kontrolē ievadi
fun setName(newName: String) {
if (newName.isNotBlank()) {
name = newName
} else {
println("Vārds nevar būt tukšs")
}
}
}
fun main() {
val person = Person()
person.setName("Alice") // Izmanto kontrolētu metodi izmaiņām
println(person.name) // Lasīt vērtību caur getter
// person.name = "Bob" // Kompilācijas kļūda, setter ir privāts
}