Sobes.tech
Junior — Middle

Как може да се реализира стандартното поведение на свойство в клас?

sobes.tech AI

Отговор от AI

В Android (Java/Kotlin) стандартното поведение на свойство в клас може да бъде реализирано чрез гетъри и сетъри. Това позволява да се контролира достъпа до полето и при необходимост да се добави допълнителна логика при четене или писане на стойността.

Пример на Kotlin с използване на стандартни гетъри и сетъри:

class User {
    var name: String = ""
        get() = field.toUpperCase()  // при четене връща името в главни букви
        set(value) {
            field = value.trim()       // при писане премахва интервалите
        }
}

Тук field е специално поле, което съхранява стойността на свойството. Ако не се препишат гетърът и сетърът, поведението ще бъде стандартно — просто четене и писане.

В Java обикновено се създава частно поле и публични методи get/set:

public class User {
    private String name;

    public String getName() {
        return name;
    }

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

По този начин стандартното поведение на свойството е капсулиране на полето чрез методи за достъп.