Вложенный класс Kotlin: методы и примеры кода

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

  1. Доступ к вложенным членам класса из внешнего класса:

    class Outer {
    private val outerProperty = "Outer Property"
    class Nested {
        fun accessOuterProperty(outer: Outer) {
            println(outer.outerProperty)
        }
    }
    }
    fun main() {
    val outer = Outer()
    val nested = Outer.Nested()
    nested.accessOuterProperty(outer) // Output: Outer Property
    }
  2. Создание экземпляра вложенного класса:

    class Outer {
    class Nested {
        fun printMessage() {
            println("Hello from nested class!")
        }
    }
    }
    fun main() {
    val nested = Outer.Nested()
    nested.printMessage() // Output: Hello from nested class!
    }
  3. Доступ к вложенным членам класса извне внешнего класса:

    class Outer {
    private val outerProperty = "Outer Property"
    class Nested {
        fun accessOuterProperty(outer: Outer) {
            println(outer.outerProperty)
        }
    }
    }
    fun main() {
    val outer = Outer()
    val nested = Outer.Nested()
    nested.accessOuterProperty(outer) // Output: Outer Property
    }
  4. Использование вложенного класса в качестве приемника функции расширения:

    class Outer {
    class Nested {
        fun printMessage() {
            println("Hello from nested class!")
        }
    }
    }
    fun Outer.Nested.sayHello() {
    println("Hello from extension function!")
    }
    fun main() {
    val nested = Outer.Nested()
    nested.sayHello() // Output: Hello from extension function!
    }