Kotlin в IntelliJ IDEA Kotlin змінні Kotlin типи даних Kotlin операції з числами Kotlin умовні вирази Kotlin умовні конструкції Kotlin цикли Kotlin послідовності Kotlin масиви Kotlin функціональне програмування Kotlin змінна кількість параметрів. Vararg Kotlin повернення результату. оператор return Kotlin однорядкові і локальні функції Kotlin перевантаження функцій Kotlin Лямбда-вирази Kotlin функції вищого порядку Kotlin Анонімні функції Kotlin ООП Класи і об'єкти Kotlin ООП властивості Kotlin ООП конструктор Kotlin ООП функції в класах Kotlin ООП Пакети та імпорт Kotlin ООП модифікатори видимості Kotlin ООП вкладені класи Kotlin ООП інтерфейси Kotlin ООП спадкування Kotlin ООП Перевизначення методів і властивостей Kotlin ООП Абстрактні класи та методи Kotlin ООП Data-класи Kotlin ООП перерахування enums Kotlin ООП Null і nullable-типи Kotlin ООП Обробка винятків Kotlin ООП перетворення типів Kotlin ООП Інфіксна функція Kotlin ООП функції розширення Kotlin ООП Узагальнені класи і функції Kotlin ООП обмеження узагальнень Kotlin ООП Варіантність, коваріантність і контраваріантність Kotlin Колекції. Змінювані і незмінні колекції Kotlin Колекції. LIST список Kotlin Колекції. Set Kotlin Колекції. Map

Kotlin ООП функції в класах


Клас також може містити функції. Функції визначають поведінку об'єктів даного класу. Такі функції ще називають member functions або функції-члени класу. Наприклад, визначимо клас з функціями:

class Person(val name: String, val age: Int){
 
    fun sayHello(){
        println("Hello")
    }
    fun go(location: String){
        println("$name goes to $location")
    }
    fun getInfo() : String{
        return "Name: $name  Age: $age"
    }
}

Member function визначається також як і звичайні функції. Зокрема, тут в класі Person визначена функція sayHello() , яка виводить на консоль рядок "Hello" і емулює вітання об'єкта Person. Друга функція - go емулює рух об'єкта Person до певного місця перебування. Місцезнаходження передається через параметр location. І третя функція getInfo повертає інформацію про поточний об'єкті у вигляді рядка.

У функціях, які визначені всередині класу, доступні властивості цього класу. Так, в даному випадку в функціях можна звернутися до властивостей name і age, які визначені в класі Person.

Для звернення до функцій класу необхідно використовувати ім'я об'єкта, після якого йде назва функції і в дужках значення для параметрів цієї функції:

fun main(args: Array<String>) {
 
    val bob: Person = Person("Bob", 23)
 
    bob.sayHello()          // Hello
    bob.go("the shop")      // Bob goes to the shop
    bob.go("the cinema")    // Bob goes to the cinema
 
    println(bob.getInfo())  // Name: Bob  Age: 23
}

Наш партнер:
beta test mp3 playlist downloader