polimorfismo en programacion orientada a objetos

Páginas: 7 (1657 palabras) Publicado: 22 de octubre de 2015
Programación II. Guía 10

1

Facultad:
Ingeniería
Escuela:
Computación
Asignatura: Programación II

Tema: Funciones Virtuales y Polimorfismo.

Objetivos Específicos
ƒ

Comprender que es ligadura e identificar sus tipos.

ƒ

Describir el concepto de polimorfismo

ƒ

Utilizar las funciones virtuales para aplicar el polimorfismo en C++.

ƒ

Definir funciones virtuales.

Materiales y Equipo
•Computadora con el software DevC++.
• Guía Número 10.

Introducción Teórica
Ligadura.
Representa una conexión entre una entidad y sus propiedades. Si la propiedad se limita a
funciones, ligadura es la conexión entre la llamada a función y el código que se ejecuta tras la
llamada. Desde el punto de vista de atributos, la ligadura es el proceso de asociar un atributo a
un nombre.
El momento en que unatributo o función se asocia con sus valores o funciones se denomina
tiempo de ligadura.

Clasificación de la ligadura.
La ligadura se clasifica según sea el tiempo o momento de la ligadura en:
a) Ligadura Estática: Se produce antes de la ejecución (durante la compilación).
b) Ligadura Dinámica: ocurre durante el tiempo de ejecución.

2

Programación II, Guía 10

Funciones Virtuales.
Una funciónvirtual es una función miembro pública o protegida de una clase base que puede
ser redefinida en cada una de las clases derivadas de esta, y una vez redefinida puede ser
accedida mediante un puntero o referencia a la clase base.
Esta se declara colocando la palabra clave virtual antes de la declaración de la función
miembro perteneciente a la clase base, así:
virtual (lista de parámetros);

Polimorfismo.
La utilización de clases derivadas y funciones virtuales es frecuentemente denominada
programación orientada a objetos. Además, la facultad de llamar a una variedad de funciones
utilizando exactamente el mismo medio de acceso, proporcionada por funciones virtuales, es a
veces denominada polimorfismo.
Polimorfismo significa “la facultad de asumir muchasformas”, refiriéndose a la facultad de
llamar a muchas funciones diferentes con una sola sentencia.
En un lenguaje orientado a objetos, el polimorfismo es la propiedad por la que un mensaje
puede significar cosas diferentes dependiendo del objeto que lo recibe. La razón por la que el
polimorfismo es útil se debe a que proporciona la capacidad de manipular instancias de clases
derivadas a través de unconjunto de operaciones definidas en su clase base. Cada clase
derivada puede implementar las operaciones definidas en la clase base.
El polimorfismo adquiere su máxima potencia cuando se utiliza en unión con la herencia.
Reglas para utilizar Polimorfismo.
1. Crear una jerarquía de clases con las operaciones importantes definidas por las funciones
miembros declaradas como virtuales en la clasebase.
2. Las implementaciones específicas de las funciones virtuales se deben hacer en las clases
derivadas. Cada clase derivada puede tener su propia versión de las funciones.
3. Las instancias de las clases se manipulan a través de referencias o un puntero. Este
mecanismo es la ligadura dinámica y es la esencia del uso polimórfico en C++.

Clases Abstractas.
Una clase abstracta es una clase que sedefine con el propósito de establecer bases
conceptuales sobre las cuales se definirán otras clases, mismas que podrán ser clases
concretas. Es decir, una clase abstracta no se usará directamente en la solución de un

Programación II. Guía 10 3
problema, sino que formará parte del diseño conceptual de la solución. Por lo tanto, en el
programa no se crearán instancias (objetos) de las clasesabstractas. Sin embargo, cabe
destacar que las clases derivadas sí heredan sus miembros.
En una clase abstracta pueden incluirse métodos virtuales que requieren ser especificados en
las clases derivadas. Es decir, métodos a los que se les asignará el contenido en cada clase
derivada. Estos métodos reciben el nombre de métodos virtuales puros y se inicializan con el
valor de cero. Si las clases...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Que es un Objeto? Programacion Orientada a Objetos
  • Programacion orientada a objetos
  • PROGRAMACIÓN ORIENTADA A OBJETOS EN C++.
  • Programacion orientada a objetos
  • ¿Que es la Programación Orientada a Objetos?
  • programacion orientada a objetos
  • Programacion orientada a objetos
  • Programación orientada a objetos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS