Seguinte,
Ao utilizar interfaces para certas classes eu tenho um ganho enorme na aplicação para a criação de novas classes. Os méritos da interface são muitos, mas vou me focar em um problema que eu não consigo resolver:
Caso eu tenha uma interface Peça e classes implementando ela, no caso, por exemplo, peão, torre… A interface é declarada com um método apenas: movimentaPeça();
Todas as classes filhas implementam o método movimentaPeça.
Daqui a dois anos, por exemplo, um usuário me pede que as peças façam algo diferente: capturarPecaAdversaria(). Aqui vem o problema, imaginem que eu tenho umas 20 classes implementando Peça, agora eu terei que implementar em todas as peças…
Imaginem ainda, que eu não quero que todas as peças tenham esse movimento de captura, digamos, das 20 classes, apenas 5 precisariam implementar isso.
Qual seria a melhor maneira de contornar esse problema?

