РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
111 of 723 menu

Сеттер set

Сеттер set - это специальный метод класса, который вызывается при попытке присвоить значение свойству. Он принимает один обязательный параметр - новое значение, которое нужно установить. Внутри сеттера можно выполнять проверки, преобразования или любую другую логику перед сохранением значения.

Имя сеттера принято записывать в стиле camelCase, а его объявление начинается с ключевого слова set. Сеттер не возвращает значение, поэтому у него нет типа возвращаемого результата.

Синтаксис

set name(value) { // тело сеттера }

Пример

Давайте создадим класс User с приватным полем _name и сеттером, который устанавливает это поле:

class User { String _name = ''; set name(String value) { _name = value; } String get name => _name; } void main() { User user = User(); user.name = 'abcde'; print(user.name); }

Результат выполнения кода:

"abcde"

Пример

Давайте добавим в сеттер проверку: если переданное значение пустое, поле не будет изменено:

class User { String _name = 'default'; set name(String value) { if (value.isNotEmpty) { _name = value; } } String get name => _name; } void main() { User user = User(); user.name = ''; print(user.name); }

Результат выполнения кода:

"default"

Пример

Давайте сделаем сеттер, который преобразует полученную строку в верхний регистр перед сохранением:

class User { String _name = ''; set name(String value) { _name = value.toUpperCase(); } String get name => _name; } void main() { User user = User(); user.name = 'abcde'; print(user.name); }

Результат выполнения кода:

"ABCDE"

Смотрите также

  • ключевое слово get,
    которое создает геттер для чтения свойства
  • ключевое слово static,
    которое объявляет статические члены класса
  • ключевое слово this,
    которое ссылается на текущий экземпляр класса
  • ключевое слово class,
    которое объявляет класс
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить