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

Введение в реализацию типа в Dart

Контракт типа задает, какие команды должен уметь объект, если класс его реализует. В объявлении перечисляют имена методов и геттеров без привязки к конкретным полям реализации.

Абстрактный родитель тоже может требовать реализации методов у потомков, но обычно хранит общее состояние и готовый код. Контракт описывает только поведение снаружи: «умеет рисоваться», «умеет считать площадь», «умеет сохраняться на диск».

В Dart нет отдельного слова для интерфейса. Контракт объявляют обычным class с перечнем публичных членов без тел. Экземпляр такого типа напрямую не создают - нужен класс, который реализует все обязательные члены.

Другой класс подключает контракт словом implements и сам пишет тело каждого публичного метода и геттера. Термин «реализует» здесь уместнее, чем «наследует»: контракт не подменяет родителя с полями, а навешивает на тип набор обязанностей. Дальше раздел пройдет по шагам: реализация implements, свои тела методов, несколько контрактов у одного класса, сочетание extends и implements, модификатор interface class и проверка типа оператором is.

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