Homonimia Es la capacidad de un lenguaje de programación, que permite nombrar con el mismo identificador diferentes variables u operaciones. En programación orientada a objetos la homonimia se refiere a la posibilidad de tener dos o más funciones con el mismo nombre pero funcionalidad diferente . Consiste en crear mas de un procedimiento, constructor o propiedad en una clase con el mismo nombre y distintos argumentos. La homonimia también es conocida como sobrecarga .
Tipos de Sobrecarga Existen dos tipos de sobrecarga: Sobrecarga de métodos Sobrecarga de operadores
¿Cuál es la importancia de redefinir operadores? La importancia de las funciones sobrecargadas es que permiten acceder mediante un nombre común a un conjunto de funciones relacionadas. En este sentido, la sobrecarga de funciones permite crear un nombre genérico para una operación; el compilador se encarga de decidir la función que se necesita realmente para realizar la operación.
Polimorfismo En C#
Etimología de la palabra polimorfismo La palabra " polimorfismo " está formada con raíces griegas y significa "cualidad de tener muchas formas". Sus componentes léxicos son: polys (muchos) y morfo (formas), más el sufijo -ismo (actividad, sistema).
¿Qué es 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 . Es la capacidad que tiene una clase de convertirse en un nuevo objeto sin cambiar su esencia y luego volver al objeto original de donde salió.
Tipos de polimorfismo Por herencia: Cuando se hereda de una clase normal y puedo convertirme en ella. Es el mas común. Por abstracción: C uando se hereda de una clase abstracta y se puede convertir en ella. Por interfaz: E s la posibilidad de implementar una interfaz y convertirse en ella.
Ventajas y desventajas del polimorfismo El polimorfismo permite a los programadores separar las cosas que cambian de las que no cambian, y de esta manera hacer más fácil la ampliación, el mantenimiento y la reutilización de los programas. El polimorfismo puede hacerse con referencias de superclases abstract , super -clases normales e interfaces. Por su mayor flexibilidad y por su independencia de la jerarquía de clases estándar, las interfaces permiten ampliar muchísimo las posibilidades del polimorfismo. El polimorfismo está basado en utilizar referencias de un tipo más “amplio” que los objetos a los que apuntan. Las ventajas del polimorfismo son evidentes, pero hay una importante limitación: el tipo de la referencia (clase abstracta, clase base o interface) limita los métodos que se pueden utilizar y las variables miembro a las que se pueden acceder.