Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtOpVlCF 67 of 113 menu
◀ ▶

Final-поля и const в Dart

Поля класса-значения объявляют в теле класса с модификатором final и задают через конструктор. После создания объекта к полям обращаются по точке:

class Point { final int x; final int y; Point(this.x, this.y); }

Создадим объект и выведем его:

var p = Point(10, 20); print(p.x); print(p.y);

Слово final запрещает присваивать полю новое значение после создания объекта. Чтобы обновить данные, позже используют метод copyWith и новый экземпляр:

class Tag { final String code; final int hits; Tag(this.code, this.hits); }

Создадим объект и выведем его:

var tag = Tag("api", 0); print(tag.hits);

Если все поля final и конструктор не выполняет произвольный код, его помечают const. Тогда объект можно создавать как compile-time константу. Имена аргументов при вызове совпадают с именами полей:

class Book { final String title; final int pages; const Book({required this.title, required this.pages}); }

Создадим объект и выведем его:

var book = Book(title: "Notes", pages: 120); print(book.title);

Сделайте класс City с полями name и population. Создайте объект для города "Oslo" с населением 700000 и выведите оба поля в двух строках.

Сделайте класс Score с полями player и points. Дан объект:

var row = Score("Kim", 12);

Выведите на экран имя игрока и количество очков из объекта row.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить