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

Импорт файла в Dart

Класс из соседнего файла без импорта в этом файле недоступен. Директива import сообщает анализатору: здесь можно использовать имена из указанной библиотеки. Путь пишут в кавычках, обычно относительно текущего файла.

Запишем класс Post в post.dart, а в main.dart подключим файл и создадим объект:

class Post { String title = "home"; }
import 'post.dart'; Post post = Post(); print(post.title);

Без строки import 'post.dart'; имя Post в main.dart неизвестно. С импортом достаточно короткого имени типа.

Импортировать можно не только классы, но и функции и переменные верхнего уровня из другого файла:

String trimSpaces(String value) { return value.trim(); }
import 'format.dart'; print(trimSpaces(" hi "));

Несколько нужных библиотек подключают отдельными строками import. Порядок строк не влияет на работу программы, но в проектах их обычно группируют для читаемости:

class Model { int id = 1; }
class Data { String text = "ok"; }
import 'model.dart'; import 'data.dart'; Model model = Model(); Data data = Data(); print(model.id); print(data.text);

Если два класса называются одинаково, но лежат в разных файлах, одновременно импортировать оба по короткому имени нельзя - возникнет конфликт. Имена разводят префиксом через as.

В файле employee.dart объявите класс Employee с полем tag типа String. В main.dart импортируйте этот файл, создайте объект класса Employee с меткой "a" и выведите значение его поля tag.

Упростите следующий код с использованием import:

class Report { void build() { Employee a = Employee("Ann"); Employee b = Employee("Bob"); print(a.tag); print(b.tag); } }

Класс Employee объявлен в employee.dart.

Дан следующий код:

class Service { void start() { Logger log = Logger(); Settings cfg = Settings(); log.write("start"); print(cfg.mode); } }

Классы Logger и Settings лежат в logger.dart и settings.dart. Добавьте нужные импорты в начало main.dart.

Создайте класс Alpha в alpha.dart и класс Beta в beta.dart. В main.dart импортируйте оба файла и создайте по одному объекту каждого класса.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить