Директивы show и hide в Dart
Импорт по умолчанию открывает все публичные имена
библиотеки. Если нужен только один тип, после пути
добавляют show и список разрешенных имен.
Так явно видно, что файл использует лишь часть API
соседнего исходника.
В post.dart объявим Post и черновик
Draft, а в main.dart подключим только
запись:
class Post {
String title = "home";
}
class Draft {
String text = "wip";
}
import 'post.dart' show Post;
Post post = Post();
print(post.title);
Имя Draft после такого импорта в main.dart
недоступно, хотя класс по-прежнему существует в
post.dart.
Директива hide работает наоборот: все имена
доступны, кроме перечисленных. Ее применяют, когда
нужно исключить один конфликтующий тип:
import 'post.dart' hide Draft;
Post post = Post();
print(post.title);
hide имеет смысл только если скрываемое имя
действительно объявлено в подключаемом файле. Для
Draft в примере выше условие выполняется.
В employee.dart объявите Employee и функцию
верхнего уровня makeTag, возвращающую
строку. В main.dart импортируйте файл
только с show Employee и выведите имя
объекта Employee.
Дан следующий код:
class Employee {
String name = "ann";
}
class Draft {
String text = "wip";
}
В main.dart подключите employee.dart
с hide Draft, создайте Employee
и выведите name.