Clases abstractas

Clase 38 de 47Curso Básico de Kotlin 2019

Resumen

Las clases abstractas prácticamente siguen el mismo principio que en otros lenguajes de programación orientados a objetos como Java; las clases abstractas son aquellas que no tienen implementación y se usa la palabra reservada abstract en las clases para tal fin.

abstract class Forma(val nombre: String) { abstract fun area(): Double fun printName(){ println("el nombre es: ${nombre}") } } class Circulo(nombre: String, val radio: Double): Forma(nombre) { override fun area() = Math.PI * Math.pow(radio, 2.0) } fun main(args: Array<String>) { val circulo = Circulo("Circulo", 4.0) println(circulo.nombre) println(circulo.radio) println(circulo.area()) println(circulo.printName()) }

Podemos emplear la palabra reservada en los métodos (fun) para especificar que la clase que la definan sobreescriba dichos métodos, o podemos implementar algunos dentro de la clase abstracta y de esta forma, poder emplearlos en la clase que definen dicha clase abstracta.

Como en cualquier otro lenguaje, debemos sobrescribir cualquier método o propiedad que contenga la palabra reservada abstract en la clase hija.