×
=0) { let js = text.slice(pos1, pos2); + '<\/' + "script" + '>'; arrText.push(js); // next pos1 = pos2; continue; } } } break; } return arrText; } function OpenDialog(parentDiv, urlContent) { parentDiv = document.getElementById('modal-background'); // new !!!!!!! parentDiv.appendChild(document.getElementById('modal-template')); document.getElementById('modal-background').style.display = "block"; document.getElementById('modal-template').style.display = "flex"; // !!!!! document.getElementById('modal-body').innerHTML = ""; post_url(urlContent, "", function(text_from_server) { var element = document.getElementById('modal-body'); element.innerHTML = text_from_server; // add scripts var arrJSText = get_scripts(text_from_server); for (var i=0; i
dir.by
Поиск
Программирование, разработка, тестирование
→
Kotlin
→
Что такое class в Kotlin? Пример: class MyBook { ... }
Посмотрели
867
раз(а)
Что такое class в Kotlin?
последнее обновление: 3 февраля 2025
Класс в
Kotlin
может содержать:
• Конструктор (первичный)
• Конструктор (вторинчный)
• Инициализирующий блок
init
• Поля
• Свойства
• Функции
• Вложенные классы
В классе в
Kotlin
нет деструктора.
Говоря общими словами:
Класс в
Kotlin
описывает объект.
Kotlin
программу можно представить как взаимосвязанные между собой объекты.
Синтаксис
чтобы определить класс
Используем слово
class
Kotlin
class
MyBook
{
...
}
Чтобы создать объект класса:
используем
Название класса
(параметры или без параметров)
Kotlin
MyBook(
"Hello!"
)
На заметку!
В других языках всегда использовалось слово
new
В
Java
мы писали
Java
new
MyBook(
"Hello!"
)
Пример 1
со вторичным конструктором
Kotlin
class
MyBook
{
var
bookText:
String
// поле
constructor
(text:
String
)
// конструктор
{
bookText = text;
}
fun
Show
()
// метод
{
println(bookText.toString())
}
}
fun
main
() {
val
book1 = MyBook(
"Hello!"
)
// создаем объект
book1.Show()
// вызываем метод
}
На заметку!
это вторичный конструктор так теория описывает потому что он внутри класса
Пример 2
с основным конструктором
Kotlin
class
MyBook
(
var
bookText:
String
)
// конструктор и поле в однм выражении
{
fun
Show
()
// метод
{
println(bookText.toString())
}
}
fun
main
() {
val
book1 = MyBook(
"Hello!"
)
// создаем объект
book1.Show()
// вызываем метод
}
На заметку
Он является основным конструктором
Пример 3
с основным конструктором и блоком инициализации
Kotlin
class
MyShop
(name: String, street:
String
) {
val
shopName =
"Welcome to $name"
init
{
println(
"первый блок инициализации... При необходимости используйте $name"
)
}
val
streetName =
"good $street"
init
{
println(
"Второй блок инициализации... При необходимости используйте streetName"
)
}
}
fun
main
() {
val
shop1 = MyShop(
"Book store"
,
"Orange avenu"
)
// создаем объект
}
На заметку!
Основной конструктор не может содержать в себе исполняемого кода.
Если нам надо выполнить какой-то инициализирующий код, то он может быть помещён в соответствующие блоки, которые помечаются словом
init
.
При создании объкта класса блоки инициализации выполняются в том порядке, в котором они идут в теле класса, чередуясь с инициализацией свойств.
Пример 4
с первичным конструктором и вторичным конструктором
Kotlin
class
MyShop
(
val
shopName
:
String
) {
private
val
shopFruits
:
MutableList
<
String
> = mutableListOf()
constructor
(fruits:
List
<
String
>, name:
String
) :
this(name)
{
shopFruits
.addAll(0, fruits)
}
fun
Show
()
{
println(
"
$shopName
has fruits:"
)
for
(item
in
shopFruits
)
println(item)
}
}
fun
main
() {
val
shop1:MyShop = MyShop(listOf(
"orange"
,
"banana"
),
"Market"
)
shop1.Show()
}
Запустим программу и увидим результат:
Market has fruits:
orange
banana
На заметку!
Если у класса есть основной конструктор и вторичный конструктор.
В этом случае вторичный конструктор должен вызывать основной конструктор используя слово
this
.
this
(параметры основного консруктора)
Пример 5
нет конструкторов но есть блок init
Kotlin
class
MyShop
{
private
val
shopFruits
:
MutableList
<
String
> = mutableListOf()
init
{
shopFruits
.addAll(listOf(
"orange"
,
"banana"
))
}
fun
Show
()
{
for
(item
in
shopFruits
)
println(item)
}
}
fun
main
() {
val
shop1:MyShop = MyShop()
shop1.Show()
}
Запустим программу и увидим результат:
orange
banana
На заметку!
Если у класса нет основного конструктора и вторичного конструктора все равно блок инициализации выполнится.
Пример 6
нет конструкторов и нет блока init
Kotlin
class
MyShop
{
var
shopFruits:
MutableList
<
String
> = mutableListOf()
fun
Show
()
{
for
(item
in
shopFruits)
println(item)
}
}
fun
main
() {
val
shop1:MyShop = MyShop()
shop1.shopFruits.addAll(listOf(
"orange"
,
"banana"
))
shop1.Show()
}
На заметку!
Если у класса нет основного конструктора и нет вторичного конструктора, у этого класса автоматически сгенерируется пустой невидимый конструктор без параметров.
Видимость этого конструктора будет
public
.
← Предыдущая тема
Как найти enum по значению в Kotlin ?
Следующая тема →
lateinit это поздняя инициализация для поля class | Kotlin
Ваши Отзывы ... комментарии ...
Вашe имя
Ваш комментарий
(www ссылки может добавлять только залогиненный пользователь)
+ картинку
Объявления
Объявления
•
Что такое Kotlin ?
•
Почему самой популярной средой разработки для Kotlin является IntelliJ IDEA?
•
Скачать и установить IntelliJ IDEA для изучения Kotlin
•
Создание нового проекта в IntelliJ IDEA для изучения Kotlin
Int, Float, Boolean, Char ...
•
Целые числа в Kotlin: Byte, UByte, Short, UShort, Int, UInt, Long, ULong
•
Десятичные числа в Kotlin: Float, Double
•
Флаг со значениями true или false в Kotlin это: Boolean
•
Символ в Kotlin это: Char
•
Конвертация числа в текст на языке Kotlin | Int → String
String
•
Строка, текст в Kotlin это: String
•
Интерполяция строк в Kotlin. Пример: val address:String = "${street}, ${country}"
•
В чем отличие String и StringBuilder ?
Enum
•
Что такое перечисление (enum) в Kotlin ?
•
Как найти enum по значению в Kotlin ?
Class
•
Что такое class в Kotlin? Пример: class MyBook { ... }
•
lateinit это поздняя инициализация для поля class | Kotlin
•
class, который наследует от интерфейса в Kotlin | Пример: class MyBook : IBook { ...}
•
Безымянный class, который наследует от интерфейса в Kotlin | Пример: val book1 = object : IBook { ...}
•
Общий, template class в Kotlin | Пример: class MyBook<T> { ... }
Коллекции и массивы
•
Создаем коллекции list, set, map и массив array в Kotlin
null
•
null значение используем символ ? и ?. и !! и ?: и !!. и ?. в Kotlin
Лямбда функция
•
Лямбда функция в Kotlin. Пример1: var myFunc1 : (a:Int, b:Int) -> Int = { p1, p2 -> p1 + p2 };
Ваши вопросы присылайте по почте:
info@dir.by