Implementar VS Extanda
Implementacións e extensións son dúas palabras clave que se atopan na linguaxe de programación Java e que proporcionan un medio para transferir a funcionalidade agregada a unha nova clase. A palabra clave de implementos úsase explícitamente para implementar unha interface, mentres que a palabra clave esténdese para herdar dunha clase (super). Teña presente que os conceptos de patrimonio e interfaces están presentes na maioría dos outros idiomas de programación orientados a obxectos como C # e VB.NET, pero ofrecen diferentes sintaxis ou palabras clave para aplicar eses conceptos. Este artigo só se centra na implementación e ampliación das palabras clave definidas en Java.
Extends
Extender a palabra clave úsase para implementar o concepto de herdanza no idioma de programación Java. A herdanza proporciona esencialmente a reutilización do código ampliando as propiedades e o comportamento dunha clase existente por unha clase recentemente definida. Cando unha nova subclase (ou clase derivada) estende unha superclase (ou clase primaria), a subclase herdará todos os atributos e métodos da superclase. A subclase pode anular opcionalmente o comportamento (proporcionar unha funcionalidade nova ou estendida aos métodos) herdados da clase principal. Unha subclase non pode estender varias super clases en Java. Polo tanto, non pode usar extensións para a herdanza múltiple. Para ter unha herdanza múltiple, cómpre usar interfaces como se explica a continuación.
implements
Implementar palabras clave no idioma de programación Java que se usa para implementar unha interface para unha clase. Unha interface en Java é un tipo abstracto que se usa para especificar un contrato que debe ser implementado por clases, que implementan esa interface. En xeral, unha interface só conterá sinaturas de métodos e declaracións constantes. Calquera interface que implementa unha interface particular debe implementar todos os métodos definidos na interface ou debe declararse como unha clase abstracta. En Java, o tipo de referencia de obxecto pode definirse como un tipo de interface. Pero ese obxecto debe ser nulo ou debe conter un obxecto dunha clase, que implementa esa interface particular. Ao usar a palabra clave implementa en Java, pode implementar varias interfaces nunha soa clase. Unha interface non pode implementar outra interface. Non obstante, unha interface pode ampliar unha clase.
Diferenza entre implementos e extensións
Aínda que os implementos e as extensións son dúas palabras clave que proporcionan un mecanismo para herdar atributos e comportamentos dunha clase no Java A linguaxe de programación, úsanse para dous fins diferentes. A palabra clave implements úsase para unha clase de implementación dunha determinada interface, mentres que a palabra chave esténdese é utilizada para que unha subclase se estenda dunha super clase. Cando unha clase implementa unha interface, esa clase ten que implementar todos os métodos definidos na interface, pero cando unha subclase esténdese unha super clase, pode ou non substituír os métodos incluídos na clase primaria. Finalmente, outra diferenza fundamental entre implementos e estender é que unha clase pode implementar múltiples interfaces, pero só pode ser estendida desde unha super clase en Java. En xeral, o uso de implementos (interfaces) considérase máis favorable en comparación co uso de extensións (herdanzas), por varias razóns, como unha maior flexibilidade e a capacidade de minimizar o acoplamento. Polo tanto, na práctica, a programación a unha interface é preferible á extensión das clases de base.