Практические задания - Урок 16: Интерфейсы

Инструкция: Решите все задания по порядку. Создайте отдельный файл .dart для каждой задачи или решите все в одном файле, разделяя задачи комментариями.

Задача: Интерфейсы

Представь виды транспорта, такие как Автомобиль (Car), Велосипед (Bicycle) и Поезд (Train).

Все транспортные средства имеют метод move(), который отвечает за движение. Но у разных видов транспорта есть свои особенности:

Чтобы обеспечить гибкость и использовать полиморфизм, нужно использовать интерфейс Transport.

Дополни интерфейс методом stop(), который реализуют все виды транспорта. Пусть каждый вид транспорта останавливается по-своему (например, у поезда может быть торможение поезда, у велосипеда — плавная остановка и т. д.).

Шаги решения:

  1. Создай интерфейс Transport с методом void move();.
  2. Реализуй интерфейс Transport в классах Car, Bicycle и Train.
  3. В методах move добавь реализацию, которая отображает особенности каждого типа транспорта.
  4. Создай список List<Transport> fleet, в котором будут храниться все виды транспорта.
  5. Используй цикл, чтобы вызвать move() у каждого объекта без проверки типов!