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

Список инициализации

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

Синтаксис

ClassName(parameters) : field1 = value1, field2 = value2 { // тело конструктора }

Пример

Давайте создадим класс Point с двумя полями и инициализируем их через список инициализации:

class Point { final int x; final int y; Point(this.x, this.y); } void main() { Point p = Point(1, 2); print('${p.x}, ${p.y}'); }

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

"1, 2"

Пример

Давайте используем список инициализации для вычисления значения поля на основе параметра:

class Rectangle { final int width; final int height; final int area; Rectangle(this.width, this.height) : area = width * height; } void main() { Rectangle rect = Rectangle(3, 4); print(rect.area); }

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

12

Пример

Давайте инициализируем несколько полей, используя параметры конструктора и значения по умолчанию:

class User { final String name; final int age; final bool isActive; User(String name, {int age = 18}) : name = name.toUpperCase(), age = age, isActive = true; } void main() { User user = User('abcde'); print('${user.name}, ${user.age}, ${user.isActive}'); }

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

"ABCDE, 18, true"

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

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