Clases abstractas

Clase 38 de 47Curso Básico de Kotlin 2019

Contenido del curso

Conceptos básicos

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.