Belajar Kotlin Lanjutan (OOP)

eldi anto
3 min readJan 15, 2019

--

Kembali bertemu dengan saya eldi, dalam tulisan kali ini saya akan menjelaskan tentang kotlin OOP sebelum masuk materi kalian bisa mengunjungi profil saya di beberapa link berikut hehe :
Github : https://github.com/L007
Linkedin : https://www.linkedin.com/in/eldi-anto/
Facebook : https://web.facebook.com/Ldi.NS
Instagram : https://www.instagram.com/eldi_32/

Jadi fokus pembahasan kita pada tulisan kali ini adalah tentang penerapan OOP (Object Oriented Programming) di kotlin, meliputi

  • Membuat Kelas (Class) pada Kotlin
  • Kotlin data Classes
  • Object pada Kotlin
  • Pewarisan (Inheritance) pada Kotlin
  • Type Casting pada Kotlin
  • Abstract Class pada Kotlin
  • Interface pada Kotlin
  • Lambda Expression pada Kotlin

Membuat class pada kotlin

untuk membuat class di kotlin cukup mudah, sama seperti java

class User { //class tanpa constructor}class User(val username: String, val password: String) { 
//class dengan constructor utama
}

jika tidak menuliskan access modifiernya maka by default akan menjadi public, jadi syntaxnya untuk membuat kelas :
accessModifier class NamaClass

untuk membuat sebuah object kita dapat membuatnya dengan

fun main(args: Array<String>) {
val user1 = User() // obeject user1 sudah terbuat
}

tidak perlu lagi menggunakan keyword new seperti di java lagi, lebih ringkas

Data Classes

data classes ini yang unik, jika kita sudah mengenal class POJO (Plain Old Java Object) di Java maka untuk membuat sebuah class yang memilik setter getter di kotlin sangatlah muda, kita cukup menambahkan keyword data sebelum class

data class Mahasiswa(var nama:String,val nim:String)

cukup 1 bari code saja, sangat simpel hehehe

Object pada kotlin

object di kotlin ini jika di java sama seperti class statis, kita dimungkinkan untuk mengakses attribute sebuah class tanpa membuat object terlebih dahulu, atau lebih dikenal dengan sebutan singleton

object Orang{
val nama = "eldi"
}

fun main(args: Array<String>) {
println(Orang.nama)
}

kita dapat mengakases attribute nama, tanpa perlu membuat object Orang terlebih dahulu

Inheritence

ini yang unik juga, jia di java kita mengenal keyword extends dan implements ucapkan selamat tinggal untuk kedua keyword tersebut, karena di kotlin cukup menggunakan tanda titik dua ( : ) saja, misal
subClass : superClass
sangat simpel, dan untuk dapat di inherit kan, superClass harus memberikan keyword open sebelum nama class, dan function yang dapat di override juga harus diberikan keyword open

Abstract class

untuk membuat sebuah abstract class, kita cukup memberikan keyword abstract di depan sebelum class, dan untuk abstract method juga sama, dengan menambahkan keyword abstract sebelum fun

Interface

untuk kelas interface sama seperti kelas abstract, cukup memberikan keyword interface dan untuk mengimplementnya cukup menggunakan tanda titik dua (:)

Casting

Casting di java dan di kotlin ada sedikit perbedaan

Casting Java

int angka = 20;

double angka2 = (double) angka;

Casting Kotlin

val angka = 20

val angka2 = angka.toDouble()
val angka3 = angka as Double

casting di kotlin dapat menggunakan .toTipe() atau dengan keyword as cukup mudah bukan?

Lambda Expression

ini adalah sebuah fitur kotlin yang sangat bagus, namun sangat sulit untuk dijelaskan hehe

lambda expression adalah cara untuk membuat anonymous function tanpa keyword fun () dapat langsung di pass ke variabel

cara menulis nya
val lambdaName : Type = { argumentList -> codeBody }
variabel = {tasknya apa}
variabel = {param -> tasknya}
variabel = {param1,param2,dst ->tasknya}

cara call nya, variabel(param)

ini contoh untuk lambda expressionnya

Mungkin sekian dulu tulisan saya tentang Kotlin Lanjutan, semoga tulisan ini bermanfaat bagi teman-teman, kurang lebihnya saya mohon maaf, karena saya masih akan terus belajar, Tetap semangat dalam mencari ilmu, tulisan ini akan berlanjut di beberapa link dibawah ini hehe :v

--

--