¿Por qué Java tiene tantas interfaces? ¿Cuáles son los beneficios?
Muchos programadores junior de JAVA están confundidos acerca del significado de las interfaces. No sé cuál es la función de la interfaz y por qué es necesario definirla.
Parece que definir la interfaz es un trabajo redundante hecho de antemano. A continuación he resumido 4 puntos sobre la importancia de la existencia de interfaces en JAVA:
1. Importancia: en el lenguaje Java, la clase abstracta y la interfaz son dos mecanismos que admiten la definición de clases abstractas. Es precisamente debido a la existencia de estos dos mecanismos que Java obtiene poderosas capacidades orientadas a objetos.
2. Simplicidad y estandarización: si un proyecto es relativamente grande, entonces se necesita un arquitecto que pueda clasificar todos los negocios para definir algunas interfaces principales, no solo para decirles a los desarrolladores qué negocios deben implementar. y también restringe la convención de nomenclatura (para evitar que algunos desarrolladores la nombren casualmente y dificulten la comprensión de otros programadores).
3. Mantenimiento y escalabilidad: por ejemplo, si desea crear un programa de tablero de dibujo, hay una clase de panel en él, que es principalmente responsable de la función de pintura, y luego define esta clase como este.
Pero en un futuro cercano, de repente descubres que esta clase no puede satisfacerte y luego tienes que rediseñar esta clase. Lo que es peor es que es posible que tengas que abandonar esta clase y luego se puede hacer referencia a ella. en otros lugares, por lo que es muy problemático modificarlo.
Si define una interfaz al principio, coloca la función de dibujo en la interfaz y luego implementa la interfaz al definir la clase, entonces solo necesita usar esta interfaz para hacer referencia a la clase que la implementa. Si desea cambiarlo más tarde, es solo una referencia a otra clase, lo que facilita el mantenimiento y la expansión.
4. Seguridad y rigor: La interfaz es un medio importante para lograr un acoplamiento flexible del software. Describe todos los servicios externos del sistema sin involucrar ningún detalle de implementación específico. Esto es más seguro y riguroso (generalmente los proveedores de servicios de software lo consideran más). Tengo una cuenta pública de WeChat donde comparto algunos artículos y recursos de aprendizaje relacionados con Java todos los días.
Si te gusta lo que comparto, puedes usar WeChat para buscar "líder de Java" o "javatuanzhang" para seguir.