Polimorfismo y clases abstractas
* En programación orientada a objetos el polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.
*Es una característica de un lenguaje de programación que permite a los valores de diferentes tipos de datos ser manejados usando una interfaz uniforme. También hay funciones polimórficas: es unafunción que puede ser evaluada o ser aplicada a valores de diferentes tipos.
Dos tipos de polimorfismo: ad-hoc y paramétrico
Existen dos tipos de polimorfismo:
* Polimorfismo ad-hoc: si el rango detipos actuales que pueden ser usados es finito y las combinaciones deben ser especificadas individualmente antes de usarse.
* Polimorfismo paramétrico: si todo el código es escrito sin mención deningún tipo específico y así poder ser usado transparentemente con nuevos tipos.
* En programación orientada a objetos, el polimorfismo ad-hoc es generalmente soportado a través de la herencia,por ejemplo, objetos de diferentes tipos pueden ser tratados uniformemente como miembros de una superclase común. El polimorfismo ad-hoc es también soportado en muchos lenguajes usando funciones ymétodos sobrecargados.
* El polimorfismo paramétrico es ampliamente soportado en lenguajes de programación funcionales de tipo estático.
Clases abstractas:
* Hay casos en que es útil definirclases para las cuales no se desea instanciar objetos. Tales clases son llamadas clases abstractas. Debido a que normalmente son utilizadas como base en jerarquías de clases, nos referiremos a ellascomo clases base abstractas. Las clases abstractas no sirven para instanciar objetos porque están incompletas, siendo sus clases derivadas las que deberán definir las partes faltantes.
* Elpropósito de una clase abstracta es proveer una clase base apropiada desde la cual otras clases hereden.
* Las clases desde las cuales se pueden instanciar objetos se llaman clases concretas. Tales...
Regístrate para leer el documento completo.