Ejemplos interfaces

package com.trifulcas.herencia.interfaces;

// El interface lo creo con la palabra clave interface
public interface IVolar {
	// Dentro del interface defino funciones SIN IMPLEMENTACION
	// Igual que los métodos abstractos son una obligación de implementar la función
	// Un interface es como un contrato
	public void volar();
}

package com.trifulcas.herencia.interfaces;

public interface INadar {
	public void nadar();
}

package com.trifulcas.herencia.interfaces;

// En la clase para implementar un interface utilizamos implements
public class Pelicano implements IVolar, INadar{

	public Pelicano() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void volar() {
		System.out.println("Un majestuoso pelícano surcando el cielo");
		
	}

	@Override
	public void nadar() {
		System.out.println("Un pelícano nadando");
		
	}
	

}

package com.trifulcas.herencia.interfaces;

public class Murcielago implements IVolar {

	public Murcielago() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void volar() {
		System.out.println("Un murciélago volando en la noche");
		
	}

}

package com.trifulcas.herencia.interfaces;

public class Avion implements IVolar {

	public Avion() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void volar() {
		System.out.println("Un avión surcando raudo las nubes");
		
	}

}

package com.trifulcas.herencia.interfaces;

public class Delfin implements INadar {

	@Override
	public void nadar() {
		System.out.println("Un esbelto delfín surcando las procelosas aguas del océano");
	}

}

// Lista de elementos que implementan IVolar
		ArrayList<IVolar> elementos=new ArrayList<>();
		Pelicano p=new Pelicano();
		Murcielago m=new Murcielago();
		Avion a=new Avion();
		// Añadir a la lista cualquier clase que implemente IVolar
		elementos.add(a);
		elementos.add(p);
		elementos.add(m);
		
		// Recorrer la lista con un elemento de tipo IVolar
		for(IVolar elemento:elementos) {
			elemento.volar();
		}
		
		// Lista de elementos que implementan INadar
		ArrayList<INadar> nadadores=new ArrayList<>();
		Delfin f=new Delfin();
		nadadores.add(f);
		nadadores.add(p);
		
		// Recorrer la lista con un elemento de tipo INadar
				for(INadar elemento:nadadores) {
					elemento.nadar();
				}

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos