Sobes.tech
Junior — Middle

Kā var īstenot īpašības noklusējuma uzvedību klasē?

sobes.tech AI

Atbilde no AI

Android (Java/Kotlin) klases standartais īpašības uzvedība var tikt īstenota, izmantojot getters un setters. Tas ļauj kontrolēt piekļuvi laukam un, ja nepieciešams, pievienot papildu loģiku, lasot vai rakstot vērtību.

Piemērs Kotlin ar standarta getters un setters:

class User {
    var name: String = ""
        get() = field.toUpperCase()  // lasot atgriež vārdu lielajiem burtiem
        set(value) {
            field = value.trim()       // rakstot noņem tukšumus
        }
}

Šeit field ir īpašs lauks, kas glabā īpašības vērtību. Ja getters un setters netiks pārrakstīti, uzvedība būs standarta — vienkārša lasīšana un rakstīšana.

Java parasti izveido privātu lauku un publiskas get/set metodes:

public class User {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name.trim();
    }
}

Tādējādi, īpašības standarta uzvedība ir lauka inkapsulācija, izmantojot piekļuves metodes.