Autor Tema: Interfaces  (Leído 1354 veces)

Desconectado SCoRPiT

  • Asiduo
  • ***
  • Mensajes: 132
    • Ver Perfil
    • http://
Interfaces
« en: Mayo 23, 2006, 10:10:14 am »
Me gustaria que alguien me dijiera que uso tienen las interfaces en Java, ya que las estoy viendo ahora pero no le veo el uso, concretamente lo que quiero saber es porque se usan, que funcionalidad tienen y demas, ya que tengo un lio algo grande en la cabeza, gracias de antemano.

Salu2   :)  
<<{SCoRPiT}>>
"Lo que una mente crea otra lo supera"
"Entre dos hombres iguales en fuerza, el m?s fuerte es el que tiene raz?n." - Pit?goras

Desconectado svoboda

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 453
    • Ver Perfil
Interfaces
« Respuesta #1 en: Mayo 23, 2006, 06:33:51 pm »
Hola, bueno te doy una explicacion de ir por casa, pero creo que  a lo meojr te aclara algo.
A lo bruto el interfaz sirve para crear algo parecido a herencia multiple en java (alguien me va  a pegar, seguro).
Seria una lista de acciones que puede llevar a cabo un determinado objeto (vale eso son metodos), pero no, realmente los interfaces solo llevan el prototipo y no el codigo como los metodos.
Por ejemplo:
Creamos una interfaz con los siguientes metodos:
Acelerar, Frenar, GirarDerecha, GirarIzquierda, Parar.

A simple vista esto parecen los metodos de la clase coche, pero mas alla nos fijamos que estos metodos estan en todos los tipos de vehiculos de ruedas. El interfaz sera el que nos de los metodos para las distintas clases que declaremos, bici, coche, camion, ...., pero cada clase dira (implementara) como lo hara el objeto especifico.

Los inteface son declarados para definir un comportamiento que ser? implementado por otras clases que podran ser distintas pero se comportaran igual de cara al interfaz. Todas tendran funciones implementadas por el interfaz

En definitiva, es parecido a cuando declaras una clase abstracta para que hereden otras clases diferentes.
Espero haberte aclarado algo. Adios

Desconectado SCoRPiT

  • Asiduo
  • ***
  • Mensajes: 132
    • Ver Perfil
    • http://
Interfaces
« Respuesta #2 en: Mayo 23, 2006, 08:09:35 pm »
Muchas gracias svoboda de verdad me has aclarado bastante, aunque seguire haciendo preguntas de este tipo, ya que hay varias cosas , aparte de las interfaces, que no tengo claras del todo en java.

Salu2  :D  
<<{SCoRPiT}>>
"Lo que una mente crea otra lo supera"
"Entre dos hombres iguales en fuerza, el m?s fuerte es el que tiene raz?n." - Pit?goras

Desconectado Zheo

  • Grupo_Moderadores
  • Miembro Imprescindible
  • *
  • Mensajes: 1.397
    • Ver Perfil
Interfaces
« Respuesta #3 en: Agosto 04, 2006, 12:58:30 pm »
El caso es que los interfaces tienen una ventaja aplicada: pueden servir como par?metro.

Es decir, si, siguiendo el ejemplo anterior, creas varias clases que implementan ese interface, como coche, bicicleta, camion, patinete, moto... luego puedes tener un m?todo as?:

void manejaVeh?culo(IAccionesVeh?culo obj)

Y le podr?as pasar cualquier objeto que cumpliera ese interface, sin importar que sea un objeto coche, moto, bicicleta...
Claro est? s?lo podr?a utilizar los m?todos del interface (y no m?todos concretos de otras clases) sin hacer un casting, pero sigue siendo una herramienta muy importante.

Un saludo.

Desconectado keogh

  • Grupo_Moderadores
  • Experto
  • *
  • Mensajes: 371
    • Ver Perfil
Interfaces
« Respuesta #4 en: Enero 28, 2007, 08:13:15 pm »
Solo para seguir hablando de las interfaces. Estas no pueden implementar otra interface, pero si puede extender de muchas interfaces, por ejemplo tenemos:

Código: [Seleccionar]
interface A { }

interface B { }

interface C extends A, B { }

:D Solo para que quede como dato.

s4lu2