Diferencia entre implementos y extensiones

Implementa vs Extiende

Implementaciones y extensiones son dos palabras clave que se encuentran en el lenguaje de programación Java y que proporcionan un medio para transferir la funcionalidad agregada a una nueva clase. La palabra clave Implements se usa explícitamente para implementar una interfaz, mientras que la palabra clave Extends se usa para heredar de una (super) clase. Tenga en cuenta que los conceptos de herencia e interfaces están presentes en la mayoría de los otros lenguajes de programación orientados a objetos como C # y VB.NET, pero ofrecen diferentes sintaxis o palabras clave para aplicar esos conceptos. Este artículo solo se enfoca en Implementar y Extender palabras clave definidas en Java.

Se extiende

Extiende la palabra clave se utiliza para implementar el concepto de herencia en el lenguaje de programación Java. La herencia esencialmente proporciona la reutilización del código al permitir extender las propiedades y el comportamiento de una clase existente por una clase recién definida. Cuando una nueva subclase (o clase derivada) extiende una superclase (o clase primaria), esa subclase heredará todos los atributos y métodos de la superclase. La subclase puede anular opcionalmente el comportamiento (proporcionar funcionalidad nueva o extendida a los métodos) heredada de la clase principal. Una subclase no puede extender varias súper clases en Java. Por lo tanto, no puede usar extensiones para herencia múltiple. Para tener herencia múltiple, necesita usar interfaces como se explica a continuación.

Implementos

Implementa palabras clave en el lenguaje de programación Java que se utiliza para implementar una interfaz por una clase. Una interfaz en Java es un tipo abstracto que se utiliza para especificar un contrato que debe ser implementado por clases, que implementan esa interfaz. Por lo general, una interfaz solo contendrá firmas de métodos y declaraciones constantes. Cualquier interfaz que implemente una interfaz particular debe implementar todos los métodos definidos en la interfaz, o debe declararse como una clase abstracta. En Java, el tipo de una referencia de objeto se puede definir como un tipo de interfaz. Pero ese objeto debe ser nulo o debe contener un objeto de una clase, que implementa esa interfaz en particular. Al utilizar la palabra clave Implements en Java, puede implementar múltiples interfaces en una sola clase. Una interfaz no puede implementar otra interfaz. Sin embargo, una interfaz puede extender una clase.

Diferencia entre implementos y extensiones

Aunque, Implementos y Extensiones son dos palabras clave que proporcionan un mecanismo para heredar los atributos y el comportamiento de una clase en el lenguaje de programación Java, se usan para dos propósitos diferentes. La palabra clave Implements se usa para que una clase implemente una interfaz determinada, mientras que la palabra clave Extends se usa para que una subclase se extienda desde una súper clase. Cuando una clase implementa una interfaz, esa clase necesita implementar todos los métodos definidos en la interfaz, pero cuando una subclase extiende una súper clase, puede o no reemplazar los métodos incluidos en la clase primaria. Finalmente, otra diferencia clave entre Implements y Extends es que una clase puede implementar múltiples interfaces, pero solo puede extenderse desde una súper clase en Java. En general, el uso de Implementos (interfaces) se considera más favorable en comparación con el uso de Extensiones (herencia), por varias razones, como una mayor flexibilidad y la capacidad de minimizar el acoplamiento. Por lo tanto, en la práctica, la programación a una interfaz es preferible a la extensión desde las clases base.