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

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

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

Синтаксис

class ChildClass extends ParentClass { // тело класса }

Пример

Давайте создадим родительский класс Animal с методом sound и наследуем от него класс Dog:

class Animal { void sound() { print('Some sound'); } } class Dog extends Animal { } void main() { Dog dog = Dog(); dog.sound(); }

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

"Some sound"

Пример

Давайте переопределим метод sound в дочернем классе Dog и добавим собственный метод fetch:

class Animal { void sound() { print('Some sound'); } } class Dog extends Animal { @override void sound() { print('Woof'); } void fetch() { print('Fetching'); } } void main() { Dog dog = Dog(); dog.sound(); dog.fetch(); }

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

"Woof" "Fetching"

Пример

Давайте вызовем конструктор родительского класса из конструктора дочернего с помощью ключевого слова super:

class Animal { String name; Animal(this.name); } class Dog extends Animal { Dog(String name) : super(name); } void main() { Dog dog = Dog('Rex'); print(dog.name); }

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

"Rex"

Пример

Давайте проверим, что дочерний класс является экземпляром родительского с помощью оператора is:

class Animal { } class Dog extends Animal { } void main() { Dog dog = Dog(); print(dog is Animal); print(dog is Dog); }

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

true true

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

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