Junior
როგორ ხორციელდება ინკაპსულაცია Kotlin-ში?
sobes.tech AI
პასუხი AI-სგან
Kotlin- ში ინკაპსულაცია აღწევს წვდომის მოდიფიკატორებისა და თვისებების საშუალებით.
წვდომის მოდიფიკატორები:
public: ხელმისაწვდომია ყველგან (ნაგულისხმევი).internal: ხელმისაწვდომია იმ მოდულში, სადაც არის განსაზღვრული.protected: ხელმისაწვდომია თავისი კლასი და მისი ქვესკლასები.private: ხელმისაწვდომია მხოლოდ იმ კლასის შიგნით, სადაც არის განსაზღვრული.
ტიპები გამოიყენება კლასის მონაცემების წვდომის მართვისთვის. მათ შეიძლება ჰქონდეთ getter და setter, რომლებიც შეიძლება გადაწერილ იქნას, რათა დაამატოთ ლოგიკა მნიშვნელობის წაკითხვის ან დაწერის დროს.
class Person {
// პირადი ველი, ხელმისაწვდომია მხოლოდ კლასის შიგნით
private var _name: String = ""
// საჯარო getter და პირადი setter-ით თვისება
var name: String
get() = _name
private set(value) {
_name = value
}
// საჯარო ფუნქცია სახელის დასაყენებლად, კონტროლს ახორციელებს
fun setName(newName: String) {
if (newName.isNotBlank()) {
name = newName
} else {
println("სახელი არ შეიძლება იყოს ცარიელი")
}
}
}
fun main() {
val person = Person()
person.setName("Alice") // კონტროლირებადი მეთოდით ცვლილება
println(person.name) // მნიშვნელობის წაკითხვა getter-ით
// person.name = "Bob" // კომპილაციის შეცდომა, setter-ი პირადი
}