Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/03/2014, 14:37
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: concepto de INTERFACE. java

C procedural no es orientado a objetos, java sí lo es, por lo que es difícil comparar. Java se parece más a C++.

En java como bien dices, puede haber varias clases que implementen una misma interfaz o sólo una, depende de lo que quieras o necesites, en C no puedes hacerlo, el linker de C sólo te admite una implmentación de una función definida en un .h. Pero sí podrías en C++ hacer varias clases que implemente una misma interfaz de C++, ya que también es orientado a objetos.

El motivo de esto es que en java se permite el polimorfismo (en C++ también, en C no), es decir, varias implementaciones de una misma interfaz. Tu código java podría trabajar con la interfaz sin saber con qué clase concreta está trabajando. por ejemplo,

Código Java:
Ver original
  1. public void unMetodo (UnaInterfaz a){
  2.    a.metodoDeLaInterfaz();
  3. }

A este unMetodo podrías llamarlo de estas formas

Código Java:
Ver original
  1. unMetodo (new UnaClaseQueImplementeLaInterfaz());
  2. unMetodo (new OtraClaseQueImplementeLaInterfaz());

y ambos funcionaran. Dentro de unMetodo(), la llamada a.metodoDeLaInterfaz() llamará realmente al metodoDeLaInterfaz() implementado en una u otra clase, según le hayamos pasado.

Se bueno.
__________________
Apuntes Java
Wiki de Programación