Home »
Kotlin »
Kotlin programs »
Kotlin function programs
Kotlin program | Extension function features
Kotlin | Extension function features: Here, we are implementing a Kotlin program to demonstrate the example of Extension function features.
Submitted by IncludeHelp, on May 31, 2020
Extension function
- Kotlin provides the ability to add more functionality to the existing class without inheriting them.
- This is done via a special declaration called "Extension'.
- When a function added into an existing User-defined or Library class called 'Extension Function'.
- It can also define extensions of functions and properties for companion objects.
Program for extension function features in Kotlin
package com.includehelp
// Declare class
class MyClass1{
// Member function
fun sayHello(){
println("Say Hello")
}
}
// Declare class
class MyClass2{
// create companion object to call method with class name
companion object{
// companion object function
fun display(){
println("Display from Companion Object !!")
}
}
}
// define Extension function for MyClass1
fun MyClass1.greetExtn(){
println("Greetings from Extension Function !!")
}
// define extension for Int Class
fun Int.isOdd(){
if(this%2==0){
println("Number is ODD")
}
}
// Define Extension function for MyClass2 Companion object
fun MyClass2.Companion.printData(){
println("Extension function for Companion object !!")
}
// Main Function, Entry point of Program
fun main(){
// Create Instance
val myClass1 = MyClass1()
// Called member function of class
myClass1.sayHello()
// Called extension function
myClass1.greetExtn()
// Called Int Class extension Function
24.isOdd()
// Called companion object member function
MyClass2.display()
// Called companion object extension function
MyClass2.printData()
}
Output:
Say Hello
Greetings from Extension Function !!
Number is ODD
Display from Companion Object !!
Extension function for Companion object !!