Введение в библиотеки в Dart
Один файл в Dart по умолчанию образует отдельную библиотеку. Класс из другого файла сам в программу не попадает: его нужно подключить. Пока файлы живут отдельно, одинаковые короткие имена друг другу не мешают.
Представьте сайт с разделами для пользователей и для
администратора. В файле users_page.dart лежит
класс страницы для пользовательской части, в
admin_page.dart - для админки. И там, и там
может понадобиться класс Page, но это разные
сущности: своя страница у пользователя и своя у
администратора.
Один из способов избежать путаницы - дать классам
разные длинные имена, например UsersPage и
AdminPage. Так можно, но имена быстро
разрастаются и хуже читаются.
Когда оба класса Page нужны в одном файле,
их подключают через import и разводят
префиксом. Короткое имя внутри своего файла
остается прежним, а в месте использования видно,
из какого исходника взят тип.