РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
117 of 723 menu

Модификатор interface

Модификатор interface применяется к классу и превращает его в интерфейс. Такой класс можно только реализовать с помощью ключевого слова implements, но нельзя наследовать от него через extends. Это позволяет задавать контракт, которому должны следовать другие классы, не раскрывая деталей реализации. Модификатор указывается перед ключевым словом class и не принимает параметров.

Синтаксис

interface class ClassName { // body }

Пример

Давайте объявим интерфейсный класс Shape и реализуем его в классе Circle:

interface class Shape { double area() { return 0; } } class Circle implements Shape { double radius; Circle(this.radius); @override double area() { return 3.14 * radius * radius; } } void main() { Circle circle = Circle(2); print(circle.area()); }

Результат выполнения кода:

12.56

Пример

Попытка наследовать интерфейсный класс через extends приведет к ошибке компиляции:

interface class Shape { double area() { return 0; } } class Circle extends Shape { // compile error } void main() { print('error'); }

Результат выполнения кода:

Error: The class 'Shape' can't be extended because it's an interface class.

Смотрите также

  • модификатор abstract,
    который создает абстрактный класс
  • модификатор implements,
    который реализует интерфейс
  • модификатор extends,
    который наследует класс
  • модификатор interface class,
    который описывает интерфейсный класс
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить