#5 Уроки Kotlin. Введение: вложенные классы

В этом уроке мы рассмотрим вложенные классы.

Вложенные классы

Классы могут быть вложенными один в другой:

class Outer {
  private val bar: Int = 1
  class Nested {
    fun foo() = 2
  }
}
val demo = Outer.Nested().foo() // == 2

Внутренние классы

Вложенный класс может быть помечен как innerдля доступа к элементам внешнего класса. Внутренние классы содержат ссылку  на объект внешнего класса:

class Outer {
  private val bar: Int = 1
  inner class Inner {
    fun foo() = bar
  }
}
val demo = Outer().Inner().foo() // == 1

Из примера видно, что класс Inner имеет доступ к переменным класса Outer.

Источник: Nested Classes

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Ваш комментарий будет опубликован после модерации