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

Ключевое слово implements

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

Синтаксис

class ClassName implements Interface1, Interface2 { // implementation of all members }

Пример

Давайте объявим абстрактный класс Animal с методом makeSound и реализуем его в классе Dog:

abstract class Animal { void makeSound(); } class Dog implements Animal { @override void makeSound() { print('Woof'); } } void main() { Dog dog = Dog(); dog.makeSound(); }

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

"Woof"

Пример

Давайте реализуем сразу два интерфейса в одном классе:

abstract class Walker { void walk(); } abstract class Swimmer { void swim(); } class Duck implements Walker, Swimmer { @override void walk() { print('Duck walks'); } @override void swim() { print('Duck swims'); } } void main() { Duck duck = Duck(); duck.walk(); duck.swim(); }

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

"Duck walks" "Duck swims"

Пример

Давайте реализуем интерфейс с геттером и сеттером:

abstract class Named { String get name; set name(String value); } class Person implements Named { String _name = ''; @override String get name => _name; @override set name(String value) { _name = value; } } void main() { Person person = Person(); person.name = 'abcde'; print(person.name); }

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

"abcde"

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

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