¿Qué problema resuelve el polimorfismo en Java?
Por ejemplo, creas una clase abstracta o una interfaz para animales y le agregas algunos métodos de interfaz. Construyes un zoológico y luego hay varios animales corriendo, ladrando y comiendo. Espera el método de acción. , pero no te das cuenta. Antes de que haya animales, sólo necesitas saber cómo ponerlos en jaulas y tendrás este zoológico.
Luego obtendrás tigres, leones, monos, perros, gatos y otros animales de otros lugares, todos los cuales utilizan tus acciones de correr, ladrar, comer, etc. como métodos para lograr estos animales específicos. son parte de la implementación, solo necesitas conectarlos a tu zoológico. Esto es polimorfismo.
A continuación se describen algunas teorías:
Los beneficios que nos aporta el polimorfismo se pueden resumir en los siguientes cinco puntos:
1. El polimorfismo permite la sustitución del código existente. Por ejemplo, si el polimorfismo se aplica a la clase círculo, también se aplica a cualquier otra geometría circular, como un anillo.
2. Código escalable de polimorfismo. Agregar una nueva subclase no afecta el funcionamiento y el funcionamiento del polimorfismo, la herencia y otras características de las clases existentes. De hecho, agregar nuevas subclases facilita la obtención de características polimórficas. Por ejemplo, es fácil agregar polimorfismo para la clase esfera al polimorfismo ya implementado para conos, semiconos y hemisferios.
3 Capacidades de interfaz. El polimorfismo se logra cuando una superclase proporciona la misma interfaz a una subclase mediante firmas de métodos, y la subclase mejora o sobrecarga la interfaz. Por ejemplo, supongamos que la superclase Shape especifica dos métodos de interfaz que implementan polimorfismo: ComputeArea() y ComputeVolume(). Subclases como Circle y Sphere pueden completar o anular estos dos métodos de interfaz para lograr polimorfismo.
4. Flexibilidad. Refleja la flexibilidad y diversidad de operaciones en la aplicación y mejora la eficiencia de uso.
5. Simplicidad. El polimorfismo simplifica el proceso de escritura y modificación del código de software de aplicación, especialmente cuando se trata de una gran cantidad de objetos y operaciones. Esta característica es particularmente destacada e importante.
Vale la pena señalar que el polimorfismo no resuelve el problema de aumentar la velocidad de ejecución porque se basa en la carga dinámica y la referencia de dirección o el enlace dinámico. Sin embargo, en Java, todos los métodos, excepto las clases finales y los métodos finales, bajo ciertas condiciones, están vinculados dinámicamente por la JVM en tiempo de ejecución.