Está en la página 1de 9

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA


Unidad Zacatenco
ICE

Programación

Grupo: 2cv16

 Gómez Romero Carlos Eduardo


INDICE

1- Polimorfismo

2- Uso en Programación orientada a objetos

3- Código del Programa

4- Explicación del Programa

5- Programa corriendo
Polimorfismo

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.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que
se utilice, más allá de las obvias diferencias sintácticas.
Uso en Programación Orientada a objetos
En programación orientada a objetos se denomina polimorfismo a la capacidad
que tienen los objetos de una clase de responder al mismo mensaje o evento en
función de los parámetros utilizados durante su invocación. Un objeto polimórfico
es una entidad que puede contener valores de diferentes tipos durante la
ejecución del programa. Dicho de otra forma, el polimorfismo consiste en
conseguir que un objeto de una clase se comporte como un objeto de cualquiera
de sus subclases, dependiendo de la forma de llamar a los métodos de dicha
clase o subclases. Una forma de conseguir objetos polimórficos es mediante el
uso de punteros a la superclase. De esta forma podemos tener dentro de una
misma estructura (arrays, listas, pilas, colas, ...) objetos de distintas subclases,
haciendo que el tipo base de dichas estructuras sea un puntero a la superclase.
Otros lenguajes nos dan la posibilidad de crear objetos polimórficos con el
operador new. La forma de utilizarlo, por ejemplo en java, sería: Superclase sup =
new (Subclase); En la práctica esto quiere decir que un puntero a un tipo puede
contener varios tipos diferentes, no solo el creado. De esta forma podemos tener
un puntero a un objeto de la clase Trabajador, pero este puntero puede estar
apuntando a un objeto subclase de la anterior como podría ser Márketing, Ventas
o Recepcionistas (todas ellas deberían ser subclase de Trabajador). El concepto
de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así
nacen los conceptos de funciones polimórficas y tipos polimórficos. Las primeras
son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de
datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de
datos que contienen al menos un elemento cuyo tipo no está especificado.
Código
#include<iostream>

#include<fstream>

#include<string.h>

# include <stdlib.h>

using namespace std;

class persona

protected:

string nombre;

int edad;

public:

persona(string,int);

virtual void impP();

};

persona::persona(string _nombre, int _edad)

nombre= _nombre;

edad= _edad;

class alumno:public persona

private:

float calif;

public:

alumno(string, int, float);

void impP();

};

class docente: public persona

private:
string materia;

public:

docente(string, int, string);

void impP();

};

void persona::impP()

cout<<"Nombre:" << nombre<<endl;

cout<<"Edad:" << edad<<endl;

alumno::alumno(string _nombre,int _edad, float _calif): persona(_nombre, _edad)

calif= _calif;

void alumno::impP()

persona::impP();

cout<<"Calificacion"<<calif<<endl;

docente::docente(string _nombre, int _edad, string _materia): persona(_nombre, _edad)

materia= _materia;

void docente::impP()

persona::impP();

cout<<"Materia: "<<materia<<endl;

int main()

persona * num[3];

num[0]= new alumno ("Carlos Eduardo",24,9.3);

num[1]= new alumno ("Karine",20,9.8);

num[2]= new docente ("Jorge", 49, "Algebra");


num[0]-> impP();

cout<<"\n";

num[1]-> impP();

cout<<"\n";

num[2]-> impP();

system("pause");

return 0;

}
Explicación del Programa

En este programa lo que se hace es imprimir 3 diferentes tipos de datos, en este


caso 2 alumnos, su nombre, su edad y su calificación en la materia.
En el caso del profesor, se imprime el Nombre, su edad y la materia que imparte.
Todo eso se usa en base a las clases denominadas:
Persona
Alumno
Docente
Una vez creadas las clases con sus constructores se declara “VIRTUAL” para
poder notificar que se usara la función imprimir en demás clases.
Así en el main poder utilizar el polimorfismo para mostrar los datos de cada
persona.
Programa corriendo.

También podría gustarte