Skip to content
Related Articles

Related Articles

Improve Article

Kotlin Class and Objects

  • Difficulty Level : Easy
  • Last Updated : 09 Sep, 2021

Kotlin supports both functional and object-oriented programming. In previous articles, we have learned about functions, higher-order functions and lambdas which represents Kotlin as a functional language. Here, we will learn about the basic OOPs concepts which represent Kotlin as Object-Oriented programming language. 
Object-Oriented Programming Language – 
Class and Objects are the basic concepts of object-oriented programming language. These support the OOPs concepts inheritance, abstraction etc.
 

Class

Like Java, class is a blue print for the objects having similar properties. We need to define a class before creating object and class keyword is used to define a class. 
The class declaration consist of class name, class header and class body enclosed with curly braces. 
Syntax of class declaration: 
 

class className {      // class header
   // property
   // member function
}

Class name: every class has a specific name 
Class header: header consist of parameters and constructors of a class 
Class body: surrounded by curly braces, contains member functions and other property 
Both the header and the class body is optional; if there is nothing in between curly braces then class body can be omitted. 
 

class emptyClass

If we want to provide a constructor, we need to write keyword constructor just after the class name.
Creating constructor: 
 

class className constructor(parameters) {    
   // property
   // member function
}

Example of Kotlin class – 
 



Java




class employee {
    // properties
    var name: String = ""
    var age: Int = 0
    var gender: Char = 'M'
    var salary: Double = 0.toDouble()
   //member functions
   fun name(){
 
    }
    fun age() {
 
    }
    fun salary(){
 
    }
}

Object

It is a basic unit of Object Oriented Programming and represents the real-life entities, which has state and behavior. Objects are used to access the properties and member function of a class. In Kotlin, we can create multiple objects of a class. An object consists of :
State : It is represented by attributes of an object. It also reflects the properties of an object. 
Behavior : It is represented by methods of an object. It also reflects the response of an object with other objects. 
Identity : It gives a unique name to an object and enables one object to interact with other objects.
 

Create an object- 
We can create an object using the reference of the class. 
 

var obj = className()

Accessing the property of the class- 
We can access the properties of class using an object. First create an object using the class reference then access the property. 
 

obj.nameOfProperty

Accessing the member function of class- 
We can access the member function of the class using the object. 
 

obj.funtionName(parameters)

Kotlin program of creating multiple objects and accessing the property and member function of class – 
 

Java




class employee {// Constructor Declaration of Class
 
    var name: String = ""
    var age: Int = 0
    var gender: Char = 'M'
    var salary: Double = 0.toDouble()
 
    fun insertValues(n: String, a: Int, g: Char, s: Double) {
        name = n
        age = a
        gender = g
        salary = s
        println("Name of the employee: $name")
        println("Age of the employee: $age")
        println("Gender: $gender")
        println("Salary of the employee: $salary")
    }
    fun insertName(n: String) {
        this.name = n
    }
 
}
fun main(args: Array<String>) {
    // creating multiple objects
    var obj = employee()
    // object 2 of class employee
    var obj2 = employee()
 
    //accessing the member function
    obj.insertValues("Praveen", 50, 'M', 500000.00)
 
    // accessing the member function
    obj2.insertName("Aliena")
 
    // accessing the name property of class
    println("Name of the new employee: ${obj2.name}")
 
}

Output: 
 

Name of the employee: Praveen
Age of the employee: 50
Gender: M
Salary of the employee: 500000.0
Name of the new employee: Aliena

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :