Muitas vezes, ao aprendermos interfaces, achamos que são códigos que não servem para nada, já que não é feita a implementação propriamente dita dos métodos. Entretanto a interface nos possibilita um nível de abstração maior, tornando o código muito mais flexível, pois podemos mudar a implementação sem maiores impactos no restante do código, desde que mantenhamos a implementação das interfaces intactas.

O exemplo a seguir ilustra isso mostrando o uso de interfaces como parâmetros de um método:

public class Principal {

	public static void mostrar(Forma form){
		form.mostrar();
	}
	
	public static void main(String[] args) {
		Retangulo figura = new Retangulo(5,4);
		mostrar(figura);
	}
}

Perceba que o método mostrar da classe Principal recebe como argumento qualquer objeto que implemente a interface Forma, ou seja, não é necessário que o objeto seja herdado de uma classe específica e nem há qualquer restrição em relação a forma como os métodos são implementados. Obviamente, deve-se ter um cuidado para que o método ou função que tem interfaces como parâmetros utilizem apenas o que foi definido na interface em sua implementação.

Copyright © 2014 AIEC.