В Dart присутствуют следующие аспекты ООП:
- Классы и объекты: Возможность определять классы с полями и методами, создавать экземпляры классов (объекты).
- Инкапсуляция: Скрытие деталей реализации посредством модификаторов доступа (
_ для приватных членов) и методов-геттеров/сеттеров.
- Наследование: Расширение функциональности существующих классов с помощью ключевого слова
extends.
- Полиморфизм: Возможность обрабатывать объекты разных классов единообразно через общий интерфейс или базовый класс.
- Абстракция: Создание абстрактных классов и интерфейсов для определения контрактов.
Пример класса в Dart:
dart
Пример наследования:
dart
Пример полиморфизма:
dart
Dart также поддерживает миксины (mixins) с помощью ключевого слова with, что позволяет повторно использовать код классов без прямого наследования.