Пакеты в Kotlin | OTUS

Пакеты в Kotlin

В языке программирования Kotlin пакеты представляют собой логический блок, объединяющий функционал. Это могут быть, к примеру, функции и классы, которые используются для решения схожих задач. В результате функции и классы, предназначенные для решения одной задачи, вы сможете поместить в один пакет, для решения другой задачи -- во второй пакет и т. д.

Чтобы определить пакет, используют ключевое слово package, после чего идет имя пакета:

1-20219-d1c577.png

На практике определение пакета помещается в начало файла, в результате чего все содержимое файла рассматривается уже как содержимое пакета.

Давайте добавим в проект файл с названием email.kt:

2-20219-73173a.png

Теперь определим в файле следующий код:

3-20219-aa0a1a.png

Итак, наш пакет называется "email". Данный пакет включает в себя класс Message, содержащий одно свойство -- text. По сути, речь идет о классе, представляющем email-сообщение, причем свойство text -- это, соответственно, текст сообщения.

Кроме того, в пакете определена функция send(), условно отправляющая сообщение на определенный адрес.

Представим, что нам надо задействовать функционал данного пакета в другом файле. Чтобы подключить пакетные сущности, нужно применить директиву import. На практике возможны разные способы подключения какого-нибудь функционала из пакета.

Во-первых, мы можем подключить весь пакет в целом:

4-20219-a5f574.png

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

Для примера возьмем другой файл проекта app.kt, определяющий функцию main, и воспользуемся в нем функционалом пакета email:

5-20219-906d02.png

Так как в начале файла импортированы все типы из email-пакета, есть возможность использовать в функции main как класс Message, так и функцию send .

Консольный вывод будет следующим:

6-20219-69e13b.png

Во-вторых, есть возможность импортировать типы, которые определены в пакете, по отдельности:

7-20219-ef34f9.png

Встроенные пакеты

Также язык Kotlin имеет встроенные пакеты -- они подключаются по дефолту в любой Kotlin-файл:

8-20219-1c4518.png

В результате, если надо будет использовать какие-либо типы, определенные в вышеуказанных пакетах, импортировать эти пакеты явным образом не надо будет.

По материалам https://metanit.com/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто