Sobes.tech
Junior

რა შეგიძლია თქვა Kotlin-ის თვისებებზე და ასევე get და set მეთოდებზე?

sobes.tech AI

პასუხი AI-სგან

Kotlin-ში მტკიცებულებები წარმოადგენს ფილის და შესაბამისი გეტერის და სეტერის კომბინაციას.

მტკიცებულების განსაზღვრა:

class MyClass {
    var mutableProperty: String = "default"
    val immutableProperty: Int = 10
}

აქ mutableProperty არის შეცვლადი მტკიცებულება, რომელსაც აქვს გეტერი და სეტერი ავტომატურად. immutableProperty არის შეუცვლელი მტკიცებულება, მხოლოდ გეტერით.

განსაზღვრული გეტერის და სეტერის დაწერა:

class MyClass {
    var customProperty: String = ""
        get() = field.toUpperCase() // მომხმარებლის გეტერი
        set(value) {
            field = value.toLowerCase() // მომხმარებლის სეტერი
        }

    val computedProperty: Int
        get() = (1..10).random() // გამოთვლადი მტკიცებულება, არ აქვს ფილი
}
  • field - მტკიცებულების ფილის მიმთითებელი გეტერის და სეტერის შიგნით. გამოიყენება მხოლოდ შეცვლად მტკიცებულებებზე (var).
  • გეტერები და სეტერები შეიძლება იყოს მორგებული, დამატებითი ლოგიკის შესატანად მტკიცებულების წვდომის ან ცვლილების დროს.
  • გამოთვლადი მტკიცებულებები (computedProperty) არ აქვთ საკუთარი ფილი და ყოველთვის გამოთვლიან მნიშვნელობას წვდომის დროს.

ძირითადი მახასიათებლები:

  • Kotlin-ში არ არის საჭირო ყოველი ფილისთვის გეტერის და სეტერის აშენება, როგორც Java-ში. ისინი ავტომატურად იქმნება.
  • მტკიცებულებები ხელმისაწვდომია წერტილის ნოტაციით (instance.propertyName).
  • გამარტივებული გეტერის და სეტერის განსაზღვრა საშუალებას აძლევს დამატებითი ლოგიკის დამატებას.
  • val მტკიცებულების გეტერი ყოველთვის უნდა აბრუნებდეს იმავე ტიპის მნიშვნელობას.
  • var მტკიცებულების სეტერი იღებს იმავე ტიპის პარამეტრს.

შედარება Kotlin-ის მტკიცებულებებს და Java-ის ფილებს + მეთოდებს:

Kotlin მტკიცებულება Java ფაილი + მეთოდები აღწერა
var myProperty: ტიპი private ტიპი myProperty; + public ტიპი getMyProperty() + public void setMyProperty(ტიპი მნიშვნელობა) შეცვლადი მტკიცებულება ავტომატური გეტერით და სეტერით.
val myProperty: ტიპი private ტიპი myProperty; + public ტიპი getMyProperty() შეუცვლელი მტკიცებულება მხოლოდ გეტერით.
მორგებული გეტერი/სეტერი ხელით დაწერილი ლოგიკა მომხმარებლის ლოგიკის დამატება წვდომის ან ცვლილების დროს.
გამოთვლადი მტკიცებულება მეთოდი, რომელიც აბრუნებს მნიშვნელობას მნიშვნელობა ყოველ მოთხოვნაზე გამოთვლილია.