Ejemplos Interfaces

public interface IVolar {
	public void volar();
}

public interface INadar {
	public void nadar();
}

public interface ICorrer {
	public void correr();
}

public interface IActivo {
	public boolean esActivo();
}

public interface ISaludo {
	public void hola();
	public void adios();
}

public class Delfin implements INadar, IActivo{

	@Override
	public void nadar() {
		System.out.println("Soy un delfín nadando en el inmenso mar");
		
	}

	@Override
	public boolean esActivo() {
		// TODO Auto-generated method stub
		return true;
	}

}

public class Pato implements IVolar, ICorrer, INadar, IActivo{

	@Override
	public void nadar() {
		System.out.println("Pato Nadando");
		
	}

	@Override
	public void correr() {
		System.out.println("Corriendo");
		
	}

	@Override
	public void volar() {
		System.out.println("Volando");
		
	}

	@Override
	public boolean esActivo() {
		// TODO Auto-generated method stub
		return true;
	}

}

public class Submarino implements INadar, IActivo {

	@Override
	public void nadar() {
		System.out.println("Inmersión!!");
	}

	@Override
	public boolean esActivo() {
		// TODO Auto-generated method stub
		return false;
	}

}


	public static void main(String[] args) {
		// El mismo polimorfismo que teniamos con la herencia
		// Lo tenemos con los interfaces

		ArrayList<INadar> cosas = new ArrayList<>();
		comprobar(new Delfin());
		comprobar(new Pato());
		comprobar(new Submarino());

		List<String> alumnos = new ArrayList<String>();

		Saludos pepe=new Saludos();
		pepe.hola();
		ISaludo ana=new Saludos();
		ana.adios();
	}

	public static void comprobar(IActivo elemento) {
		if (elemento.esActivo()) {
			System.out.println("A tope con la actividad");
		}
	}

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos