Programación Orientada a Objetos, Polimorfismo en Kotlin (Curso de Kotlin desde cero [69])
Para entender polimorfismo en Kotlin vamos a analizar su significado etimologico que es Pili= muchas, Morfismo= formas, osea Polimorfismo = muchas formas.
- En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
En este tutorial vamos hacer los siguiente: - Crear una clase llamada Vehiculo con los atributos matricula, marca, modelo y un método que muestre los datos del auto.
- Crear la clase TipoTurismo que hereda de Vehiculo sus atributo mas el atributo propio numeroPuertas, ademas crearemos un método que muestre todos sus datos.
- Crear la clase TipoFurgoneta que hereda de Vehiculo sus atributo mas el atributo propio carga, ademas crearemos un método que muestre todos sus datos.
- Crear la clase TipoDeportivo que hereda de Vehiculo sus atributo mas el atributo propio cilindros, además crearemos un método que muestre todos sus datos.
- En la clase principal crear un arreglo del objeto Vehiculo donde llamaremos los diferentes tipos de clses de tipo Vehiculo
Codigo: https://github.com/programadornovato/CursoKotlin/commit/7e8379ee0c50acc595dbb3773386d28a0f06bc50
///src/Vehiculo.kt open class Vehiculo (var matricula:String,var marca:String,var modelo:String){ open fun entregarDatos():String{ return "matricula=$matricula,marca=$marca,modelo$modelo" } } ///src/main.kt import javax.swing.JOptionPane fun main(args:Array<String>){ var v= arrayOfNulls<Vehiculo>(4) v[0]=Vehiculo("XDSDF445","Nissan","2010") v[1]=tipoTurismo("XDFGHJ777","Nissan","2018",5) v[2]=tipoDeportivo("TTYYHH666","Nissan","2010",8) v[3]=tipoFurgoneta("FDSEEW5666","Nissan","2015",20) for (i in v.indices){ println(v[i]!!.entregarDatos()) } } //src/tipoDeportivo.kt class tipoDeportivo(matricula:String?,marca:String?,modelo:String?,var cilindros:Int):Vehiculo(matricula!!,marca!!,modelo!!){ override fun entregarDatos():String{ return "matricula=$matricula,marca=$marca,modelo$modelo,cilindros=$cilindros" } } //src/tipoFurgoneta.kt class tipoFurgoneta(matricula:String?,marca:String?,modelo:String?,var carga:Int):Vehiculo(matricula!!,marca!!,modelo!!){ override fun entregarDatos():String{ return "matricula=$matricula,marca=$marca,modelo$modelo,carga=$carga" } } //src/tipoTurismo.kt class tipoTurismo(matricula:String?,marca:String?,modelo:String?,var numeroPuertas:Int):Vehiculo(matricula!!,marca!!,modelo!!){ override fun entregarDatos():String{ return "matricula=$matricula,marca=$marca,modelo$modelo,numeroPuertas=$numeroPuertas" } }
🎦 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 >>