Recomendado, 2024

La Elección Del Editor

La diferencia entre extiende e implementa palabras clave en Java

Las palabras clave se extienden y los implementos se utilizan para heredar las características de un bloque primario ya existente en el bloque secundario recién creado. Al usar la palabra clave extended, una clase recién creada (subclase) puede heredar las características de una clase existente (superclase). Al utilizar la palabra clave implements, una clase recién creada puede implementar todos los métodos de una interfaz. La diferencia principal entre las palabras clave se extiende e implementa, es que una clase extiende otra clase para heredar todos sus miembros, mientras que una clase implementa una interfaz para heredar todos sus métodos e implementarlos de acuerdo con sus requisitos. Hay algunas otras diferencias entre las palabras clave que se extienden y los implementos que se analizan en una tabla de comparación que se muestra a continuación.

Cuadros de comparación

Bases para la comparaciónSe extiendeImplementos
BASICLa palabra clave extended se utiliza para crear una subclase utilizando las características de una superclase.La palabra clave implementa se utiliza para la implementación de una interfaz
MétodosLa palabra clave extended no puede anular todos los métodos de una súper clase.La palabra clave implementa tiene que implementar todos los métodos de una interfaz implementada.
ClaseUna clase puede extender solo una súper clase.Una clase puede implementar múltiples espacios.
InterfazUna interfaz puede extender más de una interfaz.Una interfaz no puede implementar otra interfaz.

Definición de palabra clave se extiende

La herencia, que es un concepto importante en la programación orientada a objetos, se logra cuando una subclase se extiende a otra superclase. Una subclase puede extender solo una superclase. Una clase nunca puede extender más de una súper clase en Java. Cuando una clase extiende otra clase, puede anular los métodos definidos en una superclase. Entendamos que la palabra clave se extiende con la ayuda de un ejemplo.

 clase A {Cuerda s; A (String s1) {s = s1; } // mostrar cadena void display () {System.out.println (+ s); }} la clase B se extiende A {String i; B (String s1, String i1) {super (s1); i = i1; } dispaly void () {super.dispaly (); / * pantalla () de la clase A invocada. * / System.out.println (+ i); }} clase Override {public static void main (String args []) {B ob = new B (Tech, Differences); ob.display (); / * visualización de la clase B invocada * /}} / * out put * / Tech Differences 

En el código anterior, puede observar que la clase B tiene la clase A extendida y ha anulado la visualización del método () definida en la clase A. De manera similar, una interfaz puede extender más de una interfaz a la vez. Como la interfaz no tiene que implementar ningún método de la interfaz extendida, por lo tanto, se permite heredar varias interfaces a la vez.

Definición de la palabra clave implementa

Usando los implementos de palabras clave, una clase hereda todos los métodos en una interfaz. Cuando una clase implementa una interfaz, esa clase tiene que implementar todos los métodos de la interfaz implementada. Una interfaz nunca puede implementar otra interfaz, ya que implementa una palabra clave que promete la implementación de los métodos, pero una interfaz nunca implementa métodos en ella, por lo que es imposible que una interfaz implemente otra interfaz. Entendamos implementos de palabras clave con la ayuda de un ejemplo.

 cadenas de interfaz {visualización nula (Cadena s); } interfaz entero {void show (int i); } clase Demo implementa cadenas, entero {void show (int i) {System.Out.Println ("valor entero:" + i); } visualización vacía (String s) {System.Out.Println ("string value:" + s); }} class Demo_main {public static void main (string args []) {Demo d = new Demo (); d.display ("TechDifferences"); d.show (2); }} / * salida * / TechDifferences 2 

Como en el código anterior, puede ver que la demostración de clase implementa dos interfaces de cadenas y enteros y ha implementado los métodos declarados en ambas interfaces que son display () y show ().

Diferencias clave entre extensiones e implementos

  1. Una clase puede heredar otra clase, o una interfaz hereda otras interfaces usando una palabra clave extendida, mientras que una clase puede implementar una interfaz usando implementos de una palabra clave.
  2. Una subclase que extiende una superclase puede o no anular todos los métodos en una superclase. Por otro lado, una clase que implementa una interfaz debe definir / implementar todos los métodos de esa interfaz.
  3. Una clase puede implementar cualquier número de una interfaz al mismo tiempo. Por otro lado, una clase puede extender solo una súper clase.
  4. Una interfaz puede ampliar cualquier número de interfaces, pero una interfaz nunca puede implementar cualquier otra interfaz como medios de implementación que definen los métodos y la interfaz siempre tiene métodos abstractos, por lo que una interfaz nunca puede implementar otra interfaz.

Conclusión:

Concluyo la discusión diciendo que la implementación de una interfaz hace que el código sea más flexible que extender una clase. Como evita la restricción de heredar solo una súper clase en Java. El uso de la palabra clave implementa una clase puede heredar características de más de una interfaz.

Top