Difference between revisions of "Kotlin"
From zen2
| Line 9: | Line 9: | ||
To override class functions they must also be declared open | To override class functions they must also be declared open | ||
<pre> | <pre> | ||
| − | open class Vehicle() { | + | open class Vehicle(val make: String, val model: String) { |
open fun drive() {} | open fun drive() {} | ||
} | } | ||
| − | class Car() : Vehicle() { | + | class Car(make: String, model: String, val seats: Int) : Vehicle(make, model) { |
override fun drive() { | override fun drive() { | ||
} | } | ||
} | } | ||
</pre> | </pre> | ||
| + | |||
===Super=== | ===Super=== | ||
Revision as of 23:21, 18 November 2017
Contents
Class
Open
By default Kotlin classes are final, meaning no classes can inherit from them. In order to make them not final declare them open
open class Vehicle() {}
Override
To override class functions they must also be declared open
open class Vehicle(val make: String, val model: String) {
open fun drive() {}
}
class Car(make: String, model: String, val seats: Int) : Vehicle(make, model) {
override fun drive() {
}
}
Super
To use a function from the parent class use super
open class Vehicle() {
open fun drive() {
println("original")
}
}
class Car() : Vehicle() {
override fun drive() {
println("some stuff")
super.drive() //will append "original"
}
}
