Уроки Kotlin

#10 - Классы данных, изолированные классы

#10 - Классы данных, изолированные классы

В уроке вы научитесь создавать изолированные классы, классы данных, научитесь работать со статическими данными, а также изучите создание функций, что в качестве параметра принимают другую функцию.

Видеоурок

Изолированные классы в Kotlin являются продолжением enum-классов. Подобные классы удобно создавать если в будущем вам придется создавать объекты, что могут иметь разное количество параметров, разный функционал, но при этом они все будут объединены под одним общим классом.


В изолированных классах каждый элемент представляет из себя либо класс данных (data class), либо объект (object).


Пример класса:

sealed class Bank {
	data class Client(val age: Int, val name: String, val isRich: Boolean): Bank()
	data class Manager(val age: Int, val name: String, val status: String): Bank()

	object Filial : Bank() {
		val address = "Москва, ул. Космонавтов"
	}
}


Функции «Лямба»

В языке Kotlin можно создавать, так называемые, «Лямба»-функции, которые в качестве параметра могут принимать другую функцию.


Чтобы создать подобную функцию необходимо создать стандартную функцию, в которой указать что вы принимаете в качестве параметра функцию, что принимает какой-либо тип данных, а также возвращает в результате выполнения также тип данных. 


Пример:

fun someFunction(number: Int, numberEqual: (Int) -> String) {
	if(numberEqual(number) == "Equal")
		print("Число равное")
}

В примере мы создали функцию, что принимает число, а также другую функцию. Функция что передается в параметре может принимать число и в результате выполнения возвращает строку.

Исходный код

Весь код будет доступен после подписки на проект!

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Изучение MongoDB / Работа с базой данных
8 уроков
Дополненная реальность (Vuforia AR и Unity)
3 урока
Изучение HTML5 от нуля до гуру!
21 урок
Создание блога на Ruby On Rails
8 уроков
Комментарии для сайта Cackle