Tecnología

Inicio

Las diferencias entre las interfaces y los resúmenes en Java

Las diferencias entre las interfaces y los resúmenes en Java


Java es un lenguaje de programación informático introducido por primera vez en 1995 por Sun Microsystems. Ambas interfaces y clases abstractas se utilizan en código Java cuando varios subtipos de la misma clase tienen que comportarse de manera diferente. Las clases abstractas e interfaces funcionan de manera muy diferente y se utilizan de diferentes maneras, aunque hay algunas similitudes entre ellos.

Idioma

Las clases abstractas e interfaces permiten un código diferente a utilizar. Por ejemplo, una clase abstracta puede contener clases concretas, mientras que una interfaz puede contener clases abstractas. Una clase abstracta También es más fluido que una interfaz y puede contener campos que no son estáticas o final, mientras que una interfaz no puede. Además, una clase abstracta hereda automáticamente una clase de objeto, lo que significa que incluyen métodos tales como "clon ()" y "es igual a ()", mientras que una interfaz no puede incluir estos métodos.

Los métodos implementados

Los métodos de una clase abstracta se pueden definir con una variedad de parámetros de visibilidad, incluyendo público, protegido, privado o ninguno. Una interfaz sólo puede ser visiblemente pública. Esto significa que todos los miembros de una interfaz son públicos por defecto, mientras que los miembros de una clase abstracta pueden incluir miembros o métodos no públicos.

Actuación

En términos generales, las interfaces funcionan un poco más lento que las clases abstractas porque introducen una nueva clase para cada método que se implementa, y puede tomar tiempo adicional para una interfaz para localizar el método correcto en cada clase. Una clase abstracta, por otra parte, se puede aplicar un método para varias clases a la vez, y por lo tanto lleva a cabo más rápido. Sin embargo, la mayoría de las JVM (Java Virtual Machines) de 2011 de compensar la diferencia, y estas diferencias de rendimiento apenas se notan más.

Utilizar

Una interfaz se debe utilizar cuando la secuencia de comandos le pide que proporcione aplicación para todas sus métodos. Las interfaces pueden construir todas sus clases de copia de seguridad desde cero de una manera sistemática. Las clases abstractas se deben utilizar cuando se tiene una aplicación parcial de la secuencia de comandos, pero no es totalmente completa. Deje estas implementaciones incompletas como "abstracto" y permitir que un servidor de interpretarlas.