
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Override Getter for Kotlin Data Class
Data class is a collection in Kotlin to store data. Logically this is same as creating a Java POJO class. In Java, we do create extra member functions to set and get the data in the member variables. In Kotlin, we don’t need to create separate methods to access the member variables of the class. Kotlin provides it by default. We can access the variables by just using the member variable names in it.
It is not recommended to override any of the data class members like we used to do in Java.
It is always recommended to use normal class if you want to override any of the class member at the runtime.
As a programmer, we need to keep in mind that Data class is made for holding the data, not for modifying the same at runtime.
Kotlin data classes reduce the boilerplate code and provide the common functions such as getter, setters, toString, equals, etc. automatically. In this article, we will see how we can override a normal class function which is used to fetch the data.
Override function in Kotlin
In this example, we will see how to override the value of the integer variable in a Data class when the value of the same is negative.
We have one Data class "myClass" and we have one data member "myValue". We will override the value using the function getValue().
Example
fun main() { println(myClass(5).getValue()) // will print 5 // it won't be printing -5 // instead we will get 0 as per our logic println(myClass(-5).getValue()) } data class myClass(private val myValue: Int) { // overriding the value fun getValue(): Int = if (myValue < 0) 0 else myValue }
Output
When you execute the code, it will produce the following output −
5 0