Reader small image

You're reading from  Kotlin Design Patterns and Best Practices - Third Edition

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781805127765
Edition3rd Edition
Right arrow
Author (1)
Alexey Soshin
Alexey Soshin
author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin

Right arrow

Classes and inheritance

Kotlin, being a language that aims for strong interoperability with Java and the JVM, shares a strong affinity with the Java programming language, which is class-based. Therefore, Kotlin also supports classes and classical inheritance. In this section, we will cover the syntax to declare classes, interfaces, abstract classes, and data classes.

Classes

In Kotlin, a class is a collection of data, called properties, and methods. To declare a class, you use the keyword class, similar to in Java. For example, let’s define a class to represent a player in a video game:

class Player {
    // class members and functions
}

To create an instance of a class, you simply call the class constructor using parentheses, without the need for the new keyword:

val player = Player()

If the class doesn’t have a body or additional members, you can even omit the curly braces:

class Player // No body, still valid

However, classes without...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Kotlin Design Patterns and Best Practices - Third Edition
Published in: Apr 2024Publisher: PacktISBN-13: 9781805127765

Author (1)

author image
Alexey Soshin

Alexey Soshin is a software architect with 18 years of experience in the industry. He started exploring Kotlin when Kotlin was still in beta, and since then has been a big enthusiast of the language. He's a conference speaker, published writer, and the author of a video course titled Pragmatic System Design
Read more about Alexey Soshin