Практика по пакетам и импортам в Kotlin
Создайте файл catalog/Product.kt
с package catalog и классом Product,
у которого есть свойство title типа
String. В Main.kt выведите
title объекта Product,
созданного по полному имени типа.
Добавьте файл warehouse/Box.kt
с package warehouse и классом Box,
у которого есть свойство id типа Int.
В пакете app объявите класс Loader,
который импортирует Product и Box
и в методе run() создаёт оба объекта
и выводит их поля.
В пакете legacy.v1 объявите класс Api
с методом version(), который возвращает
строку "v1". В пакете legacy.v2
объявите такой же класс Api, но метод
version() должен возвращать "v2".
В классе client.Runner импортируйте
оба типа с псевдонимами и выведите результаты
вызова version() для каждого объекта.
В пакете math объявите функцию
double(x: Int): Int и класс Calc
с методом triple(x: Int): Int. В пакете
demo объявите класс Show,
который подключает пакет math директивой
import math.* и выводит double(2)
и Calc().triple(2).
В пакете secret объявите класс Key
с модификатором internal и свойством
code типа String. Там же объявите
класс Door с методом open(key: Key),
который выводит code переданного ключа.
В пакете entry создайте объект Key
и откройте Door с этим ключом.
Разместите классы Row и Table
в одном файле data/table.kt с package
data. В файле data/main.kt
создайте объект Table, содержащий список
из двух объектов Row, и выведите его.