2020-03-28

Объектно-ориентированное программирование в Kotlin имеет ряд особенностей, связанных с появлением первичного конструктора, у полей – геттеров и сеттеров по-умолчанию. Есть возможность определять методы за пределами класса. В Kotlin по-умолчанию классы и их функции имеют модификатор final.

2020-03-26

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

2020-03-26

В Kotlin есть три основных разновидности коллекций – список (List), словарь (Map) и множество (Set). Каждая из них может быть неизменяемой и изменяемой - Mutable. Для создания коллекций обычно используются встроенные в Kotlin функции, а не конструкторы.

2020-03-21

В Kotlin цикл while есть как в варианте с предусловием, так и постусловием. Цикл for присутствует только в варианте обхода элементов коллекций, массивов, строк и других объектов, имеющих метод iterator(), который создает итерации. Также есть функции repeat(){} и forEach{}, использование которых может быть более удобно в некоторых случаях.

2020-03-20

В Kotlin для проверки значения nullable-переменной, приведения значения к обычному типу и других операций используются операторы безопасного вызова (?.), "элвиса" (?:), "не null" (!!), as? и ряд функций.

2020-03-26

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

2020-03-14

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

2020-03-11

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

2020-03-26

В Kotlin класс данных - data class - особая разновидность класса, адаптированная для объектов, состоящих в основном из данных-полей. Дата-классы переопределяют методы класса Any и определяют несколько других.

2020-04-05

В языках программирования перегрузка операторов - возможность определения в классе методов, вызываемых, когда в выражениях с объектами этого класса используются те или иные операторы языка. В Kotlin перегрузка операторов реализована на уровне соглашений.