Kotlin Classes
Defining classes and objects in Kotlin
Class Definition
class Person { # simple class
var name: String = ""
var age: Int = 0
}
Primary Constructor
class Person(val name: String, var age: Int) { # constructor in header
init { # initializer block
println("Created: $name")
}
}
Creating Objects
val person = Person("John", 30) # no "new" keyword
person.age = 31 # modify property
Data Classes
data class User(val name: String, val age: Int) # auto-generates equals, hashCode, toString, copy
val user1 = User("John", 30)
val user2 = user1.copy(age = 31) # copy with modification
Inheritance
open class Animal { # open for inheritance
open fun sound() { }
}
class Dog : Animal() { # inherit from Animal
override fun sound() { # override method
println("Woof")
}
}
Object Declaration
object Database { # singleton object
fun connect() { }
}
Database.connect() # access directly