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

Место пометки в Dart

У одного объявления в Dart иногда несколько слотов: параметр конструктора, поле, метод, геттер. Метку ставят непосредственно перед тем элементом, к которому относится смысл. Если цель выбрать неверно, подпись будет относиться не к тому фрагменту кода.

На параметр конструктора метку пишут перед именем параметра. На поле - перед объявлением поля, даже если значение приходит из конструктора. Для учебной подписи к профилю оба варианта можно показать рядом:

class Doc { final String note; const Doc(this.note); } class Profile { final String handle; Profile(@Doc('constructor argument') this.handle); }

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

class Doc { final String note; const Doc(this.note); } class Profile { @Doc('public property') final String handle; Profile(this.handle); }

Тот же прием подходит, когда одна строка описания нужна только полю, а параметр остается без отдельной подписи:

class Doc { final String note; const Doc(this.note); } class Session { @Doc('stored session id') final String id; Session(this.id); } void runSample() { Session s = Session('s-1'); print(s.id); }

Объявите метку с параметром note типа String. Создайте класс заказа с параметром code в конструкторе: на параметр и на поле повесьте Doc с разными строками.

Добавьте класс Employee с одним строковым полем из конструктора. Подпись Doc должна стоять только на поле, без метки на параметре конструктора.

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