En Java, las interfaces son un concepto fundamental que define un contrato para un conjunto de funcionalidades que las clases pueden implementar. Actúan como plantillas, especificando los métodos que una clase debe proporcionar sin definir sus detalles de implementación.
Estandarización: Imponer uniformidad al especificar qué métodos debe tener una clase, asegurando que proporcionen funcionalidades específicas.
Abstracción: Ocultar los detalles de implementación, lo que permite que las clases se centren en su lógica específica al mismo tiempo que se adhieren al contrato de la interfaz.
Polimorfismo: Permitir tratar objetos de diferentes clases, siempre que implementen la misma interfaz, de forma uniforme.
public class E00_00 {
public static void main(String[] args) {
Perro p=new Perro();
p.voz();
p.nombre="Sam";
Gato g=new Gato();
g.voz();
Merluza m=new Merluza();
m.nombre="pescadito";
}
}
interface Sonido{
void voz();
}
class Animal{
String nombre;
}
class Perro extends Animal implements Sonido{
@Override
public void voz() {
System.out.println("guau");
}
}
class Gato extends Animal implements Sonido{
@Override
public void voz() {
System.out.println("miau");
}
}
class Merluza extends Animal{
}