69

📱 Programación Orientada a Objetos, Polimorfismo en Android Studio [69]

  • 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/AndroidStudio/commit/b6d0e28a24aa4871df5aaba5e6a270ffa0fe9a6f

package com.programadornovato.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.programadornovato.myapplication.Matematicas.Basicas

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        var v= arrayOfNulls<Vehiculos>(4)
        v[0]= Vehiculos("654654","Nissan","1980")
        v[1]=tipoTurismo("3215","Nissan","1985",4)
        v[2]=tipoDeportivo("654321","Nissan","1990",8)
        v[3]=tipoFurgoneta("85421","Nissan","1995",500)
        v.forEach {
            println(it?.mostrarDatos())
        }
    }
}
package com.programadornovato.myapplication

open class Vehiculos (var matricula:String,var marca:String,var modelo:String){
    open fun mostrarDatos():String{
        return "matricula:$matricula, marca:$marca, modelo:$modelo"
    }
}
package com.programadornovato.myapplication

class tipoDeportivo(matricula:String,marca:String,modelo:String,var cilindros:Int)
    :Vehiculos(matricula,marca,modelo){
    override fun mostrarDatos():String{
        return "matricula:$matricula, marca:$marca, modelo:$modelo, cilindros:$cilindros"
    }

}
package com.programadornovato.myapplication

class tipoFurgoneta(matricula:String,marca:String,modelo:String,var carga:Int)
    :Vehiculos(matricula,marca,modelo){
    override fun mostrarDatos():String{
        return "matricula:$matricula, marca:$marca, modelo:$modelo, carga:$carga"
    }

}
package com.programadornovato.myapplication

class tipoTurismo(matricula:String,marca:String,modelo:String,var numeroPuertas:Int)
    :Vehiculos(matricula,marca,modelo){
    override fun mostrarDatos():String{
        return "matricula:$matricula, marca:$marca, modelo:$modelo, numeroPuertas:$numeroPuertas"
    }

}
import javax.swing.JOptionPane

var fil=JOptionPane.showInputDialog("Humano ingresa la cantidad de filas de tu matriz").toInt()
var col=JOptionPane.showInputDialog("Humano ingresa la cantidad de columnas de tu matriz").toInt()
var matriz=Array(fil){IntArray(col)}
for (i in 0 until fil){
    for (j in 0 until col){
        matriz[i][j]=JOptionPane.showInputDialog("Matriz[${i+1}][${j+1}]").toInt()
    }
}
var sumaFil=0
for (i in 0 until fil){
    sumaFil=0
    for (j in 0 until col){
        sumaFil=sumaFil+matriz[i][j]
    }
    println("La suma de la fila ${i+1}=$sumaFil")
}
var sumaCol=0
for (j in 0 until col){
    sumaCol=0
    for (i in 0 until fil){
        sumaCol=sumaCol+matriz[i][j]
    }
    println("La suma de la columna ${j+1}=$sumaCol")
}

🎦 [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
🎦 Lista de reproducción de este curso: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT9pb9J-89j1SPtqHzU7sF
🎦 [Curso] Kotlin de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF

🔗 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

Anterior tutorial Siguiente tutorial

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Eugenio Chaparro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a digitalocean.com que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad