Programación Orientada a Objetos Clases y métodos abstractos en Kotlin(Curso de Kotlin desde cero [67])
Para que las clases y métodos sean abstractos en Kotlin deben cumplir las siguientes características:
- Debe tener por lo menos una clase hijo (osea ser super clase).
 - No puede instanciar objetos.
 - Sirve solo para heredar métodos y atributos.
Para entender más a fondo las clases abstractas vamos a hacer lo siguiente: - Crear la super-clase Automotores que tendrá como hijos a:
- La clase Gasolina que tendrá el método llantas.
- Tendrá la clase Motocicletas y Autos que tendrá el método llantas que mostrará la cantidad de llantas que usa este automotor
 
 - La clase Diesel que tendrá también el método llantas.
- Tendrá la clase Camiones que tendrá el método llantas que mostrará la cantidad de llantas que usa este automotor.
 
 
 - La clase Gasolina que tendrá el método llantas.
 
SUPER-CLASE ABSTRACTA
Automotores (Abstracta)
-llantas()
SUPER-CLASE ABSTRACTA
Gasolina (Abstracta)
-llantas()
CLASES HIJA
Motocicletas
-llantas()
Autos
-llantas()
SUPER-CLASE ABSTRACTA
Diesel (Abstracta)
-llantas()
CLASES HIJA
Camiones
-llantas()
Codigo: https://github.com/programadornovato/CursoKotlin/commit/13a2beb8ea123479a82a4d31c80c79390c2227a3
// src/Automotores.kt 
abstract class Automotores{
    abstract fun llantas()
} 
// src/Autos.kt 
class Autos:Automotores(){
    override fun llantas(){
        println("Este auto solo tiene 4 llantitas")
    }
} 
// src/Camiones.kt 
class Camiones:Diesel(){
    override fun llantas(){
        println("Este camion solo tiene 8 llantitas")
    }
} 
//src/Diesel.kt 
abstract class Diesel :Automotores(){
    abstract override fun llantas()
} 
//src/Gasolina.kt 
abstract class Gasolina :Automotores(){
    abstract override fun llantas()
} 
//src/Motocicletas.kt 
class Motocicletas:Automotores(){
    override fun llantas(){
        println("Esta motocileta solo tiene 2 llantitas")
    }
} 
//src/main.kt 
import javax.swing.JOptionPane
fun main(args:Array<String>){
    var m=Motocicletas()
    m.llantas()
    var a=Autos()
    a.llantas()
    var c=Camiones()
    c.llantas()
} 
🎦 Lista de reproducción de este curso: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🎦 [CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🎦 Canal de youtube: https://www.youtube.com/c/programadornovato
<<Anterior tutorial Siguiente tutorial >>