An interface can derive from other interfaces and thus both provide implementations for their members and declare new functions and properties. Quite naturally, classes implementing such an interface are only required to define the missing implementations.
Kotlin Interfaces Inheritance Example
package net.javaguides.kotlin.examples
import kotlin.script.dependencies.ScriptContents.Position
interface Named {
val name: String
}
interface Person: Named {
val firstName: String
val lastName: String
override val name: String get() = "$firstName $lastName"
}
data class Employee(
// implementing 'name' is not required
override val firstName: String,
override val lastName: String,
val emailId: String
): Person
fun main(args: Array < String > ) {
val employee = Employee("Ramesh", "Fadatare", "ramesh@gmail.com");
println(employee.name);
}
Output:
Ramesh Fadatare
Comments
Post a Comment