Presentado por: lenin humberto trujillo presentado a



Descargar 52,07 Kb.
Fecha de conversión25.09.2017
Tamaño52,07 Kb.





POLIMORFISMO

PRESENTADO POR:



LENIN HUMBERTO TRUJILLO

PRESENTADO A:



IRLEZA INDIRA

UNIVERSIDAD COOPERATIVA DE COLOMBIA

FACULDAD DE INGENIERIA

HUILA-NEIA



2012

Polimorfismo

  • Visual Studio 2008

El polimorfismo se refiere a la posibilidad de definir múltiples clases con funcionalidad diferente, pero con métodos o propiedades denominados de forma idéntica, que pueden utilizarse de manera intercambiable mediante código cliente en tiempo de ejecución.

En esta sección


Cómo proporciona Visual Basic polimorfismo: Se ilustran distintos enfoques del polimorfismo.
Polimorfismo basado en la herencia: Se describe el uso de la herencia para conseguir el polimorfismo.
Polimorfismo basado en la interfaz: Se describe el uso de las interfaces para conseguir el polimorfismo.

Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la superclase Animal. La clase Animal tiene el método abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).

Como se mencionó anteriormente, 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.

Se puede clasificar el polimorfismo en dos grandes clases:

En este ejemplo haremos uso del lenguaje C++ para mostrar el polimorfismo. También se hará uso de las funciones virtuales puras de este lenguaje, aunque para que el polimorfismo funcione no es necesario que las funciones sean virtuales puras, es decir, perfectamente el código de la clase "superior" (en nuestro caso 'figura') podría tener código.

#include

using namespace std;

class figura {

private:

float base;

float altura;

public:


void captura();

virtual unsigned float perimetro()=0;

virtual unsigned float area()=0;

};

class rectangulo: public figura{



public:

void imprime();

unsigned float perimetro(){return 2*(base+altura);}

unsigned float area(){return base*altura;}

};

class triangulo: public figura{



public:

void muestra();

unsigned float perimetro(){return 2*altura+base}

unsigned float area(){return (base*altura)/2;}

};

void figura::captura(){



cout<<"CALCULO DEL AREA Y PERIMETRO DE UN TRIANGULO ISÓSCELES Y UN RECTANGULO:" <

cout<<"escribe la altura: ";

cin>>altura;

cout<<"escribe la base: ";

cin>>base;

cout<<"EL PERIMETRO ES:" << perimetro();



cout<<"EL AREA ES:" << area();

};


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal