"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Objetos de referencia de elementos a través de sus interfaces

Objetos de referencia de elementos a través de sus interfaces

Publicado el 2024-11-06
Navegar:763

Item  Referencie os objetos através das interfaces deles

Preferencia por interfaces como tipos de referencia:
Si existe una interfaz adecuada, debes hacer referencia a objetos a través de ella en lugar de a la clase concreta.
Esto se aplica a parámetros, valores de retorno, variables y campos.

Flexibilidad al usar interfaces:
El uso de interfaces le permite cambiar la implementación sin afectar el código.
Ejemplo: cambiar de LinkedHashSet a HashSet o TreeSet, simplemente cambie el constructor.

Cuándo NO usar interfaces:
Funcionalidad específica de la implementación:
Si una implementación ofrece algo que la interfaz no requiere (por ejemplo, LinkedHashSet garantiza el orden de iteración, pero HashSet no).

Sin una interfaz adecuada:
Algunas clases como String o BigInteger no tienen interfaces equivalentes y deben usarse directamente.

Marcos basados ​​en clases:
Ejemplo: Se hace referencia a OutputStream en el paquete java.io a través de una clase abstracta, no de una interfaz.

Métodos específicos de implementación:
Ejemplo: PriorityQueue implementa Queue, pero tiene un método comparador() que no está presente en Queue. Utilice la clase solo si necesita este método adicional.

Beneficio:
El uso de interfaces hace que el programa sea más flexible y modular, lo que le permite cambiar fácilmente las implementaciones sin romper el código existente.

Ejemplos de código
Buen ejemplo: utilizar la interfaz como tipo

Set s = new LinkedHashSet();

Mal ejemplo: usar la clase concreta como tipo

LinkedHashSet s = new LinkedHashSet();

Flexibilidad: Cambiar la implementación sin afectar el código

Set s = new TreeSet();

Ejemplo de uso de una clase final como String

String str = "Hello";

Ejemplo de uso de una clase base de framework

OutputStream output = new FileOutputStream("file.txt");

Declaración de liberación Este artículo se reproduce en: https://dev.to/giselecoder/item-64-referencie-os-objetos-atraves-das-interfaces-deles-4ln0?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3