Get up to 80 % extra points for free! More info:

Lesson 18 - Abstract class, comparing and operators in Kotlin

In the previous lesson, Type casting and object hierarchy in Kotlin, we learned about type casting and created an object hierarchy with a common ancestor in Kotlin. In today's tutorial, we're going to continue with that project.

Abstract class

An abstract class is a class whose instance doesn't make sense. Mainly because it's too vague, e.g. our Animal class. The point is to call on specific Animal descendants, e.g. a dog, so we won't actually instantiate the Animal class directly ever. In other words, it's better to prevent any instantiation of the class overall. To do that, we simply add the abstract modifier before the Animal class:

abstract class Animal(var weight: Int) {
    // . . .

The program works the same as before, but if we try to create an instance of the Animal class, we'll get an error:

// this code won't work
animals += Animal(10)

Other than preventing instantiation, abstract classes can do several other things


 

...End of the preview...
Continue further

You will gain knowledge worth hundreds of thousands for a few crowns

You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.

Buy this course

Buy all currently available lessons with exercise submitting and other features for just $4.50
Current account balance $0
By buying this package, you'll have access to all 21 articles (21 lessons) in this course.

Before buying this article, you have to buy the previous one

This article is licensed: Premium, by buying this article, you agree with the terms of use.

What will you get from us in the next lessons?
  • Unlimited and permanent access to individual lessons.
  • High quality IT knowledge.
  • Skills to help you get your dream and well-paid job.

Article description

Requested article covers this content:

This tutorial explains abstract classes in Kotlin. We'll learn about interfaces, implement our own comparing with Comparable, and overload an operator.

You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.

Article has been written for you by Samuel Kodytek
Avatar
I'm intereseted in JVM languages and Swift
Activities