Встроенные аннотации: override, deprecated
Сообщайте о намерениях инструментам и коллегам
«Встроенные аннотации: override, deprecated» — бесплатный урок Dart Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.
Что такое аннотации
Аннотация — это метаданные, которые присоединяются к коду с помощью символа @. Она не выполняется, а сообщает сведения инструментам, анализатору и Вашим коллегам. 🏷️
Синтаксис @
Размещайте аннотацию в строке непосредственно перед объявлением. Префикс @ сообщает Dart, что этот токен является метаданными, а не обычным выражением.
@override
String toString() => 'Cat';Знакомство с @override
Аннотация @override сообщает, что метод намеренно заменяет метод суперкласса или интерфейса. Она ясно документирует Ваше намерение.
class Dog extends Animal {
@override
void speak() => print('Woof');
}Зачем нужен @override
Если Вы ошиблись в имени метода или его сигнатура изменилась, анализатор предупредит Вас. Поэтому @override превращает незаметные опечатки в ранние и видимые ошибки.
Знакомство с @deprecated
Аннотация @deprecated помечает программный интерфейс как устаревший. Код, который его использует, продолжает работать, но анализатор показывает предупреждение с зачёркиванием. ⚠️
@deprecated
void oldLogin() {}Устаревший элемент с объяснением
Используйте @Deprecated с сообщением, чтобы направить вызывающий код к замене. Текст появляется во всплывающих подсказках и предупреждениях редактора.
@Deprecated('Use signIn() instead')
void login() {}Аннотации принимают аргументы
Некоторые аннотации являются вызовами конструкторов, поэтому принимают аргументы в скобках. Форма @Deprecated('...') — один из примеров, который Вы только что увидели.
Знакомство с @pragma
Аннотация @pragma передаёт подсказки компилятору или среде выполнения Dart. Это продвинутая возможность, но её полезно узнавать при чтении кода библиотек.
@pragma('vm:entry-point')
void handler() {}Аннотации не выполняются
Помните: аннотации — это пассивные метки. Они никогда не выполняются сами по себе. Их значение читают инструменты, анализатор или генераторы кода.
Где их можно размещать
Аннотации можно применять к классам, методам, полям, параметрам и другим элементам. При объявлении каждая аннотация определяет допустимые для неё цели.
@deprecated
class LegacyService {}Несколько аннотаций
Можно разместить несколько аннотаций над одним объявлением, каждую в отдельной строке. Порядок не меняет поведение, поэтому располагайте их для удобства чтения.
@override
@deprecated
void render() {}Быстрая проверка
Выберите аннотацию, которая помечает метод как заменяющий метод родительского элемента.
Повторение
Вы познакомились с тремя встроенными аннотациями: @override обозначает намерение, @deprecated показывает предупреждения, а @pragma передаёт подсказки компилятору. Все они являются пассивными метаданными. 🎉
Изучай Dart с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Встроенные аннотации: override, deprecated» бесплатный?
Да — полный текст урока «Встроенные аннотации: override, deprecated» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.
Чему я научусь в уроке «Встроенные аннотации: override, deprecated»?
Сообщайте о намерениях инструментам и коллегам Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Dart Academy?
Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Встроенные аннотации: override, deprecated»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Dart Academy?
Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Встроенные аннотации: override, deprecated
- Написание собственных аннотаций
- Генерация кода с build_runner
- json_serializable в действии