Kotlin mendukung pem-rograman berorientasi objek (OOP) serta pem-rograman fungsional. Pem-rograman berorientasi objek didasarkan pada objek (Object) dan kelas (class) waktu nyata. Kotlin juga mendukung pilar bahasa OOP seperti enkapsulasi, Inheritance, dan polimorfisme.
Class di Program Kotlin
Class pada Kotlin sedikit mirip dengan class pada Java, Class disini adalah cetak biru untuk objek yang memiliki properti umum.
Class Kotlin dideklarasikan menggunakan kata kunci class (Class keyword). Class Kotlin memiliki Header class yang menentukan parameter tipenya, konstruktor, dll. Dan badan kelas yang dikelilingi oleh tanda kurung kurawal.
Contoh sintaks deklarasi Class Kotlin
class namaClass{ // class header
// property
// member function
}
Dalam contoh di atas, class namaClass adalah konstruktor kosong. Ia dihasilkan oleh kompilator secara otomatis tetapi jika kita ingin menyediakan konstruktor, kita perlu menulis kata kunci konstruktor diikuti dengan nama kelas, misalnya :
class namaClass constructor(){ // class header
// property
// member function
}
Contoh Class Pada Kotlin
class account {
var acc_no: Int = 0
var name: String? = null
var amount: Float = 0f
fun deposit() {
//deposite code
}
fun withdraw() {
// withdraw code
}
fun checkBalance() {
//balance check code
}
}
Kelas akun (account) memiliki tiga properti acc_no, nama, jumlah dan tiga fungsi anggota yakni deposit (), withdraw (), checkBalance ().
Di Kotlin, properti harus diinisialisasi atau dideklarasikan sebagai abstrak. Di kelas di atas, properti acc_no diinisialisasi sebagai 0, nama sebagai null dan jumlah 0f.
Object di Program Kotlin
Object (Objek) adalah entitas waktu nyata atau mungkin merupakan entitas logis yang memiliki status dan perilaku. Ia memiliki karakteristik:
- State : mewakili nilai suatu objek.
- Behaviour : mewakili fungsionalitas suatu objek.
Objek digunakan untuk mengakses properti dan fungsi anggota class. Kotlin memungkinkan untuk membuat banyak objek dari sebuah class
Cara membuat Object
Object didalam kotlin bisa dibuat dalam 2 langkah. Pertama yaitu membuat referensi (reference) dan kemudian membuat objeknya :
var obj1 = className()
Untuk membuat beberapa objek maka :
var obj1 = className()
var obj2 = className()
Di sini obj1 dan obj2 adalah referensi dan className () adalah objek.
Cara Mengakses Class Property dan Member Function
Property (Properti) dan Member Function (fungsi anggota) class diakses oleh operator menggunakan objek. Sebagai contoh:
obj.deopsit()
obj.name = Ajay
Mari kita buat contoh yang mana akan mengakses keduanya dengan menggunakan operator “ . “.
class Account {
var acc_no: Int = 0
var name: String = “”
var amount: Float = 0.toFloat()
fun insert(ac: Int,n: String, am: Float ) {
acc_no=ac
name=n
amount=am
println(“Account no: ${acc_no} holder :${name} amount :${amount}”)
}
fun deposit() {
//deposite code
}
fun withdraw() {
// withdraw code
}
fun checkBalance() {
//balance check code
}
}
fun main(args: Array<String>){
Account()
var acc= Account()
acc.insert(832345,”Ankit”,1000f) //accessing member function
println(“${acc.name}”) //accessing class property
}
Kalau kamu jalankan maka akan menghasilkan output berikut :
Account no: 832345 holder :Ankit amount :1000.0
Ankit