What does it mean to “program to an interface”?
Já vi isso mencionado algumas vezes e não sei ao certo o que isso significa. Quando e por que você faria isso?
Sei o que as interfaces fazem, mas o fato de não ser claro sobre isso me faz pensar que estou perdendo o uso delas.
Será que você deveria fazer:
IInterface classRef = new ObjectWhatever()
Você pode usar qualquer classe que implementeIInterface
? Quando você precisaria fazer isso? A única coisa em que consigo pensar é se você tem um método e não tem certeza de qual objeto será passado, exceto pela implementaçãoIInterface
. Não consigo imaginar quantas vezes você precisaria fazer isso.
Além disso, como você pode escrever um método que utiliza um objeto que implementa uma interface? Isso é possível?