While building any application, we often need to create classes whose primary purpose is to hold data/state. These classes generally contain the same old boilerplate code in the form of getters, setters, equals(), hashcode() and toString() methods.
Kotlin has a better solution for classes that are used to hold data/state. It’s called a Data Class. A Data Class is like a regular class but with some additional functionalities.
With Kotlin’s data classes, you don’t need to write/generate all the lengthy boilerplate code yourself. The compiler automatically generates a default getter and setter for all the mutable properties, and a getter (only) for all the read-only properties of the data class. Moreover, It also derives the implementation of standard methods like equals(), hashCode() and toString() from the properties declared in the data class’s primary constructor.
Example Customer data class
Syntax of data class
Continue reading Data Class
Getters and Setters are used to effectively protect your data, particularly when creating classes. For each instance variable, a getter method returns its value while a setter method sets or updates its value. Getters and setters are also known as accessors and mutators, respectively.
Accessing properties directly is not a good practice.
Sometimes we need to check the value in case of an invalid input, or do some other data validation or calculation before assigning or accessing the property value.
Continue reading Getters and Setters
A class can have functions declaration in its body. These functions are called member functions (or methods).
Member functionsare declared just like regular functions.
Continue reading Member Functions
In Kotlin, abstract class is declared using the abstract keyword in front of class. An abstract class can not instantiated means we can not create object for the abstract class.
- We can’t create an object for abstract class.
- All the variables (properties) and member functions of an abstract class are by default non-abstract. So, if we want to override these members in the child class then we need to use open keyword.
- If we declare a member function as abstract then we does not need to annotatate with open keyword because these are open by default.
- An abstract member function doesn’t have a body, and it must be implemented in the derived class.
- An abstract class can contain both abstract and non-abstract members.
Continue reading Abstract Class
A class is a blue print defined which groups functions and properties. Classes in Kotlin are defined using the keyword class followed by the class name. The body goes inside the curly braces.
Syntax of class in Kotlin
An instance of the class is instantiated in the following way
instance of the class
Contrary to Java, new isn’t a keyword in Kotlin.
new is not a keyword
Continue reading Class