Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
1266 of 1310 menu
Бесплатный тренинг по JavaScript: работа с Drag-and-Drop. Начало 2 октября. Жми для записи!

Модификатор public

Модификатор public является модификатором видимости по умолчанию в Kotlin и делает элемент (класс, функцию, свойство) видимым везде, где виден содержащий его класс. Элементы, помеченные как public, доступны из любого другого кода в том же модуле, а также из других модулей, если сам класс также имеет соответствующую видимость.

Синтаксис

public class ClassName { public fun functionName() {} public val propertyName: Type = value }
public fun functionName() {}
public val propertyName: Type = value

Пример

Создадим класс с public методами и свойствами:

public class User { public val name: String = "John" public var age: Int = 25 public fun getUserInfo(): String { return "Name: $name, Age: $age" } }

Теперь создадим экземпляр класса и вызовем public методы:

val user = User() println(user.name) println(user.age) println(user.getUserInfo())

Результат выполнения кода:

String "John" Int 25 String "Name: John, Age: 25"

Пример

Модификатор public является видимостью по умолчанию, поэтому его можно не указывать явно:

class User { // public по умолчанию val name: String = "John" // public по умолчанию fun getUserInfo(): String { // public по умолчанию return "Name: $name" } }

Пример

public функции верхнего уровня доступны из любого места:

// File: utils.kt public fun formatText(text: String): String { return text.uppercase() }
// File: main.kt val formatted = formatText("hello") println(formatted)

Результат выполнения кода:

String "HELLO"

Пример

public свойства с пользовательскими методами доступа:

class Rectangle { public var width: Int = 0 get() = field set(value) { field = if (value > 0) value else 0 } public var height: Int = 0 get() = field set(value) { field = if (value > 0) value else 0 } public val area: Int get() = width * height }
val rect = Rectangle() rect.width = 10 rect.height = 5 println(rect.area)

Результат выполнения кода:

Int 50

Смотрите также

  • модификатор private,
    который ограничивает видимость элемента пределами containing класса
  • модификатор protected,
    который делает элемент видимым в классе и его подклассах
  • модификатор internal,
    который делает элемент видимым в пределах текущего модуля
  • ключевое слово class,
    которое используется для объявления классов