ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Introducción a la Programación Orientada a Objetos. Polimorfismo

Figue1983Práctica o problema23 de Noviembre de 2016

1.049 Palabras (5 Páginas)324 Visitas

Página 1 de 5

Universidad Politécnica de Baja California[pic 1]

Carrera: 

Ingeniería en Tecnologías de la Información

Alumno:

        Victor Figueroa Raya # 150306

Maestro: Ing. Jesús Alejandro Mora Martínez

Grupo: 4AV

Materia:

Introducción a la Programación Orientada a Objetos

Mexicali B.C.                             20 de Octubre del 2016


Polimorfismo:

En programación, polimorfismo seria la capacidad que tiene una clase en convertirse en un nuevo objeto sin cambiar su esencia y luego volver al objeto original de donde salió.

Es uno de los pilares de la programación orientada a objetos más utilizada, en lo único que los programadores no la usan es en las aplicaciones de negocios.

 

Existen 3 tipos de polimorfismo:

  1. Polimorfismo por herencia: cuando se hereda de una clase normal y puedo convertirme en ella.
  2. Polimorfismo  por abstracción: cuando puedo heredar de una clase abstracta y puedo convertirme en ella.
  3. Polimorfismo por interface: es la posibilidad que tenemos de implementar una interface y puedo convertirme en ella.

Polimorfismo por Herencia:

Este tipo de polimorfismo es el más popular que existe, y tiene la facultad de heredar de una clase padre y reemplazarla.

[pic 2]

En un proyecto de consola se tienen que crear las siguientes tres clases:

public class Perro

{

        public string ladrar()

           {

 

                return “Perro Ladrando”;

        }

}

public class Chihuahua : Perro

{

}

public class Bulldog : Perro

{

}

En la clase perro tenemos un método que solo nos devuelve un string. Por otra parte las clases chihuahua y bulldog serán clases que heredaran el comportamiento de la clase perro.

Polimorfismo por Abstracción:

El polimorfismo por abstracción se da con el uso de las clases abstractas. Una clase abstracta es aquella que posee además de lo normal que contiene una clase, también cuenta con comportamientos que están definidos pero no implementados

Por ejemplo que sucedería si en el ejemplo anterior necesitamos implementar un comportamiento en los perros el cual sea dormir.

Primero para lograr esto debemos de declarar la clase perro como abstracta y luego declarar el método dormir para luego implementarlo en las clases hijos.

public abstract class Perro

{

        public virtual string ladrar()

        {

                return “Perro Ladrando”;

        }

        public abstract string Dormir();

}

public class Bulldog : Perro

{

        public override string ladrar()

        {

                return “Bulldog Ladrando”:

        }        

        public override string Dormir()

        {

                return  “Buldog Durmiendo”;

        }

}

public class Chihuahua : Perro

{

        public override string ladrar()

        {

                return “Chihuahua Ladrando”:

        }        

        public override string Dormir()

        {

                return  “Chihuahua Durmiendo”;

        }

Como podemos observar declaramos la clase perro como abstracta y el método dormir también. Así que también en el Main del Program tenemos que implementar el método abstracto. Recordemos que las clases abstractas no se pueden instanciar.

...

Descargar como (para miembros actualizados) txt (5 Kb) pdf (90 Kb) docx (25 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com