logo

implements

dart

core

`implements` используется в Dart для реализации интерфейса класса. В отличие от `extends`, `implements` требует вручную реализовать все поля и методы интерфейса, без возможности наследования их поведения.

💡 Примечание:

Класс `Dog` реализует интерфейс `Animal`, но не наследует реализацию метода `speak()`. Её нужно определить самостоятельно.

Особенности `implements`

реализация интерфейса (class)

Класс обязан реализовать все методы и геттеры/сеттеры, определённые в интерфейсе.

множественная реализация (List<class>)

`implements` позволяет реализовать несколько интерфейсов одновременно.

⚠️ Важно:

`implements` не даёт доступ к реализации или конструкторам — только к сигнатурам методов и геттеров/сеттеров.

Сравнение: implements vs extends vs mixin

Аспектimplementsextendsmixin
Наследует поведение?НетДаДа
Может реализовать несколько?ДаНетДа
Подходит дляИнтерфейсыПолное наследованиеДобавление поведения без состояния