¿Por qué utilizar interfaces?

Pregunta 1: El papel de las interfaces, por qué usar interfaces El papel de las interfaces:

Las interfaces no solo tienen muchos usos, sino que también son muy necesarias. Por eso siempre mencionamos el concepto de "programación orientada a interfaz".

No importa si no lo comprendes profundamente ahora, simplemente úsalo en la práctica primero. Cuando acumule hasta cierto nivel, conocerá los beneficios de las interfaces.

Tomemos el ejemplo anterior y hablemos de uno de los usos de las interfaces, que es el "polimorfismo". Deberías estar familiarizado con esta palabra, creo que el profesor te la habrá contado

VideoCard vc=new Elsa()

VideoCard vc=new Colourful(); p>

vc.display();

Aquí vc puede ser new Elsa(); puede ser new Colorful(); En otras palabras, puedes usarlo como martillo por un tiempo y usarlo como motosierra por un tiempo, siempre que implementen la misma interfaz. Mientras la definición del método de su interfaz no cambie, su implementación específica no será percibida por el mundo exterior. Por lo tanto, esto proporciona la base para la escalabilidad de su futuro programa. "Cerrado a modificaciones, abierto a un desarrollo ampliado".

El front es un propósito básico de la interfaz, que especifica el comportamiento de las subclases. Un propósito más amplio es lo que la interfaz proporciona a otros usuarios. El desacoplamiento entre módulos

depende de si el diseño de su interfaz es razonable y si es fácil de usar. Este es el diseñador del marco.

Por qué utilizar el contacto: se utiliza para afrontar situaciones cambiantes.

La mayor ventaja de las interfaces en el proceso de desarrollo real es que puede escribir la interfaz primero de acuerdo con el diseño y luego, cuando asigne a todos el trabajo, decirles que usen la interfaz escrita para implementar sus tareas específicas. función, y dígale a los B que escriban aquellas interfaces que se han escrito pero que no tienen códigos específicos, lo que puede mejorar la eficiencia del trabajo. Y la capa inferior y la aplicación también están claramente superpuestas a través de interfaces.

Pregunta 2: ¿Por qué utilizar interfaces? Jaja, tu comprensión es la misma que la mía, pero esta comprensión es incorrecta.

No sé si has utilizado la API de JAVA. De hecho, muchas cosas en el proceso de programación no las escribimos nosotros. Al igual que cuando construyes un edificio, no puedes fabricar cemento, puertas ni ventanas. tú mismo. Lo escribiste. La mayoría de los programas usan cosas escritas por otros. Si no defines una interfaz, ¿cómo sabes cómo llamarla? ¿Sabe cuántos parámetros pasar y cuáles son su tipo y formato? Puedes decir que miro directamente la clase de implementación, pero si hay mucho código, ¿puedes leerlo? Es muy claro si usas la interfaz.

Las interfaces también juegan un papel muy importante. No sé si entiendes los patrones de diseño. Muchos de los patrones en ellas están relacionados con las interfaces.

Me tomó mucho tiempo. para responder la pregunta antes de ver la recompensa que me diste. ¡La puntuación en realidad es 0! ! ! ! ! ! ! ! ! ! ! !

¡Olvídalo y finge que no lo dije!

Pregunta 3: ¿Por qué se introduce el concepto de interfaz en Java? Los objetos proporcionan servicios externos a través de interfaces. En la categoría orientada a objetos, la interfaz es un concepto abstracto que se refiere a todos los servicios proporcionados por el sistema al mundo exterior. La interfaz del sistema describe qué servicios puede proporcionar el sistema, pero no incluye los detalles de la implementación del servicio. Desde la perspectiva del usuario, la declaración de todos los métodos expuestos al usuario en el objeto constituye la interfaz del objeto.

En el lenguaje Java, "Haikou" tiene dos significados:

Primero, se refiere a la interfaz conceptual presentada anteriormente, es decir, todos los servicios proporcionados por el sistema al mundo exterior. , en el objeto Representa una declaración de un método de tipo público.

En segundo lugar, se refiere a la interfaz real definida con la palabra clave de interfaz, también llamada tipo de interfaz. Se utiliza para describir claramente todos los servicios proporcionados por el sistema al mundo exterior. Los detalles de implementación del sistema se separan de las interfaces para lograr la encapsulación.

Las interfaces son un medio poderoso para lograr un acoplamiento flexible entre sistemas. Las interfaces también aumentan la escalabilidad del sistema.

Para conocer el concepto de acoplamiento flexible, consulte jdon/jivejdon/thread/30175

Pregunta 4: La diferencia entre clases abstractas e interfaces, y por qué se utilizan clases abstractas. Una mala respuesta. . . Estudié en línea nuevamente y anoté las palabras de oro que vi en todos los langostinos aquí. 1. Clases abstractas: en el campo orientado a objetos, las clases abstractas se utilizan principalmente para ocultar tipos. Entonces, ¿qué es la ocultación de tipos? Podemos construir una descripción abstracta de un conjunto fijo de comportamientos, pero este conjunto de comportamientos puede tener cualquier cantidad de implementaciones concretas posibles. Esta descripción abstracta es la clase abstracta, y este conjunto de posibles implementaciones concretas está representado por todas las clases derivadas posibles. Por ejemplo, los animales son una clase abstracta y las personas, los monos y los tigres son clases derivadas de implementaciones concretas. Podemos usar tipos de animales para ocultar los tipos de ***, monos y tigres. (Consulte el método doSome) 2. Interfaz: 3. La diferencia entre clase abstracta e interfaz: en primer lugar, la clase abstracta representa una relación de herencia en el lenguaje Java, y una clase solo puede usar la relación de herencia una vez. Sin embargo, una clase puede implementar múltiples interfaces. Quizás esta sea una consideración de compromiso por parte de los diseñadores del lenguaje Java al considerar el soporte de Java para la herencia múltiple. En segundo lugar, en la definición de una clase abstracta, podemos asignar un comportamiento predeterminado al método. Sin embargo, en la definición de la interfaz, el método no puede tener un comportamiento predeterminado. Para evitar esta restricción, se debe utilizar un delegado, pero esto agregará cierta complejidad y, en ocasiones, causará muchos problemas. Las clases abstractas incorporan una relación de herencia en el lenguaje Java. Para que la relación de herencia sea razonable, debe haber una relación "es un" entre la clase principal y la clase derivada, es decir, la clase principal y la clase derivada deben ser esencialmente la misma. Lo mismo en concepto. Este no es el caso de las interfaces. No se requiere que el implementador de la interfaz y la definición de la interfaz sean conceptualmente consistentes, sino que solo implementen el contrato definido por la interfaz. La interfaz representa una relación "likea". El uso de clases abstractas para definir tipos que permitan múltiples implementaciones tiene una clara ventaja sobre el uso de interfaces: las clases abstractas evolucionan mucho más fácilmente que las interfaces. En versiones posteriores, si desea agregar un método a una clase abstracta, solo necesita agregar una implementación razonable predeterminada. Todas las implementaciones de la clase abstracta proporcionarán automáticamente este nuevo método. Para interfaces, esto no funciona. Aunque puede agregar la implementación de un método a la clase de implementación esqueleto para resolver algunos problemas, esto no puede resolver el problema de la implementación de la interfaz que no hereda de la clase de implementación esqueleto. Por lo tanto, se debe tener mucho cuidado al diseñar interfaces públicas. Una vez que una interfaz es pública y está ampliamente implementada, será imposible modificarla. Por lo tanto, utilizar una interfaz o una clase abstracta depende de nuestra comprensión esencial del concepto del problema y la intención del diseño. Las similitudes entre las interfaces Java y las clases abstractas: 1. Ninguna de las dos puede crear instancias. 2. Todos pueden contener métodos abstractos. Las clases abstractas están estrechamente relacionadas con las interfaces. Sin embargo, las interfaces son más abstractas que las clases abstractas. Esto se refleja principalmente en sus diferencias: 1) Una clase puede implementar interfaces ilimitadas, pero solo puede heredar de una clase abstracta (o de cualquier otro tipo). Las clases derivadas de clases abstractas aún pueden. Implemente la interfaz y así concluya que la interfaz se utiliza para resolver el problema de herencia múltiple. 2) Los métodos no abstractos pueden existir en clases abstractas, pero las interfaces no, y el método que contiene es solo una declaración. Los métodos sin una implementación específica deben modificarse con público. 3) Las variables miembro en clases abstractas se pueden modificar mediante diferentes modificadores, pero las variables miembro en las interfaces son constantes estáticas (fainl estático) de forma predeterminada. 4) Este es también el punto más importante. La clase abstracta es la abstracción del objeto, mientras que la interfaz es una especificación de comportamiento.

Por ejemplo, cada interfaz puede representar una abstracción de nivel superior, que puede entenderse como un tipo de cosa. Si una clase implementa múltiples interfaces, entonces esta clase tiene múltiples tipos, es decir, las interfaces son una herramienta ideal para definir tipos mixtos. Finalmente: existe un patrón de diseño, es decir, el modo de adaptación predeterminado, lo que significa que primero se define una interfaz, se implementa esta interfaz a través de una clase abstracta y luego se implementan algunos métodos que las subclases no necesitan implementar. heredar la interfaz, implementar todos los métodos o heredar directamente los métodos de esta clase abstracta para implementar necesidades específicas. Se define como una clase abstracta para que sus subclases puedan heredarla en el futuro, porque hay muchos métodos en la clase principal. que no se puede definir para una implementación específica. ¡Defina un prototipo y deje que las subclases lo implementen por separado! ¡Así que debería definirse como abstracto! En pocas palabras, las clases abstractas son un puente entre las interfaces y las clases de entidad. Por ejemplo, cree una interfaz llamada FlyAnimalAction, defina un método llamado volar y luego defina un método llamado eat. debe implementar Flying. Square...gt;gt;

Pregunta 5: ¿Por qué hay una interfaz en Java? En primer lugar, la herencia múltiple no es posible en Java. El uso de interfaces puede ayudarnos a compensar esto.

En segundo lugar, el uso de interfaces puede ocultar la implementación interna de nuestro programa. Solo necesitamos proporcionar una interfaz. llamadas al mundo exterior, y la implementación específica se coloca en la clase que implementa la interfaz.

Además, lo que dijiste es que el método sobrecargado no es tan bueno como el definido directamente en la clase. Esto puede lograr el objetivo, pero es muy problemático para ti hacerlo. Una interfaz es como un enchufe. Un conector se puede conectar a muchos tipos de aparatos eléctricos. Este conector es la interfaz que proporcionamos en el exterior. Todos los aparatos eléctricos deben implementar esta interfaz, es decir, el enchufe debe estar hecho así. Si es como piensas, ¿no tengo que proporcionar un tipo de conector para cada aparato eléctrico?

Pregunta 6: ¿Por qué deberíamos usar interfaces en Java? Las interfaces pueden hacer que el programa sea más limpio. , puede ver Una vez que esta clase implementa la interfaz Runnable, debe tener un método run(). Al igual que una señal, es fácil llamar.

La interfaz resuelve la herencia múltiple de Java. Aunque Java sólo puede heredar una clase, puede implementar múltiples interfaces.

Pregunta 7: ¿Por qué deberían usarse interfaces en Java orientado a objetos? Las interfaces son especificaciones que estipulan qué métodos deben estar presentes en una determinada clase de implementación. Siempre que la interfaz esté definida de antemano, habrá. no hay necesidad de preocuparse cuando todos trabajan juntos, en lugar de interactuar, todos escriben su propia clase de implementación de interfaz y finalmente la unen

Por ejemplo, en la clase de conexión de la base de datos, la interfaz estipula qué métodos y funciones son los métodos. tiene, y luego cada proveedor de base de datos implementará una interfaz para implementar clases específicas para lograr un propósito unificado. De lo contrario, cada fabricante de bases de datos implementará su propio conjunto, por lo que tendrá que usar diferentes métodos según los diferentes controladores al programar, lo que causará problemas innecesarios. >

Además, las interfaces no tienen nada que ver con la herencia múltiple

Pregunta 8: ¿Por qué deberíamos usar interfaces en Java? 1 La función de la interfaz es realizar herencia múltiple porque solo una clase (prescrita) puede hacerlo. ser heredado. 2LZ significa que el método de definición de interfaz existe en la subclase que lo implementa, ¿no se reescribe? El significado de su existencia es la abstracción. ¡Es como un catálogo! ¡Lo hace más claro!

Pregunta 9: ¿Por qué se puede lograr el desacoplamiento mediante el uso de interfaces? En primer lugar, es necesario comprender qué es una interfaz. La interfaz es el estándar. Hay muchas interfaces en la vida. Como interfaz de tubería de agua del grifo, interfaz de alimentación, etc.

Ahora hay muchos fabricantes de grifos. Antes de utilizar interfaces, los fabricantes tenían que proporcionar grifos y tuberías de alcantarillado al mismo tiempo. Están integrados y no se pueden cambiar. Al mismo tiempo, sólo se aplica a este producto suyo. Con la interfaz, los fabricantes ya no necesitan preocuparse por cómo diseñar sus tuberías de alcantarillado. Sólo necesitan instalar los estándares de interfaz para producir grifos y luego conectarlos directamente a las tuberías de alcantarillado. Está orientado a la interfaz.

De esta forma, tu alcantarillado podrá utilizar todos los grifos que cumplan con los estándares de alcantarillado, en lugar del anterior. Y es más conveniente sustituir el grifo.

Solo ponlo en el programa. Si una clase no puede determinar su tipo final, es decir, no sabe qué se implementará en el futuro, puede utilizar la programación orientada a interfaz. Todos los lugares que requieren esta clase están configurados en una interfaz y esta clase hereda esta interfaz. Si desea cambiarlo más tarde, simplemente herede esta interfaz.

Por ejemplo, su método es public void doSomething(IServer ser); el parámetro es una interfaz

public interface IServer{

algo

<. p> }

Luego puedes escribir muchas clases diferentes para implementar esta interfaz

Por ejemplo, la clase pública a implementa IServer{

algo

}

la clase pública b implementa IServer{

algo

}

Entonces su método se puede llamar así.

hacerAlgo(a);

hacerAlgo(b);

Esto está bien ~ No sé si entiendes ~

Pregunta 10: ¿Por qué se utilizan interfaces en proyectos Java, dónde se utilizan y cuáles son los beneficios de utilizar interfaces? En pocas palabras, si un proyecto necesita conectarse a otros proyectos, necesita una interfaz para ajustar los datos, métodos, etc. de su proyecto. De lo contrario, ¿qué pasa si inicializas directamente las clases de tu proyecto, modificas algunos datos y agregas algunos métodos de virus? ángulo de seguridad. Es posible que su proyecto requiera muchas otras cosas para conectarse, como a, b, c ... Si no está estandarizado, ¿qué pasa si es necesario cambiar a después de conectar, b, c, etc., no funcionará? ángulo normativo. (La comprensión será más clara cuando se combine con lo anterior, y será mucho más fácil de entender si hay algunas analogías de interfaz en el aprendizaje)