Book Image

Hands-On Object-Oriented Programming with Kotlin

By : Abid Khan, Igor Kucherenko
Book Image

Hands-On Object-Oriented Programming with Kotlin

By: Abid Khan, Igor Kucherenko

Overview of this book

Kotlin is an object-oriented programming language. The book is based on the latest version of Kotlin. The book provides you with a thorough understanding of programming concepts, object-oriented programming techniques, and design patterns. It includes numerous examples, explanation of concepts and keynotes. Where possible, examples and programming exercises are included. The main purpose of the book is to provide a comprehensive coverage of Kotlin features such as classes, data classes, and inheritance. It also provides a good understanding of design pattern and how Kotlin syntax works with object-oriented techniques. You will also gain familiarity with syntax in this book by writing labeled for loop and when as an expression. An introduction to the advanced concepts such as sealed classes and package level functions and coroutines is provided and we will also learn how these concepts can make the software development easy. Supported libraries for serialization, regular expression and testing are also covered in this book. By the end of the book, you would have learnt building robust and maintainable software with object oriented design patterns in Kotlin.
Table of Contents (14 chapters)

Introducing serialization

When we need to transform the state of an object to a format that can be stored or sent and restored after this, we can use serialization. The most common approach that is used in development is the serialization of objects to JSON format. An object represented in JSON is a collection of key-value pairs, while a key is represented by a string, and a value can have the following types:

  • string
  • number
  • array
  • object
  • boolean

The value can also be null. Keys and values are separated by colons, and pairs are separated by commas. In the following example code, JSON contains two pairs that contain values with string types:

{
    "first_name": "Igor",
    "last_name": "Kucherenko"
}

The following example code contains the "user" key in accordance with a value of an object type that, in turn, contains an array of...