Boa tarde pessoal.
Estou com um problema quanto a recursividade, e já que não tenho experiência em OO, estou apanhando bastante.
Por isso recorro aos grandes mestres do GUJ.
Vamos aos detalhes:
Estou brincando com um joguinho de xadrez e criei todas as classes que “achei” que seria necessário.
Que são:
ValidaMovimento();
ValidaCavalo();
ValidaTorre();
ValidaBispo();
ValidaDama();
ValidaPeao();
ValidaRei();
VerificaCheque();
SobrepõePeca();
A classe ValidaMovimento no seu construtor tem:
public ValidaMovimento() {
validaCavalo = new ValidaCavalo();
sobrepoePeca = new SobrepoePeca();
validaTorre = new ValidaTorre();
validaBispo = new ValidaBispo();
validaDama = new ValidaDama();
validaPeao = new ValidaPeao();
validaRei = new ValidaRei();
verificaCheque = new VerificaCheque();
}
Até ai tudo normal.
O problema é que a classe ValidaRei(), precisa também dos métodos da classe VerificaCheque().
E a classe VerificaCheque precisa dos métodos das classes ValidaCavalo, ValidaBispo, ValidaDama e etc.
Pensei em deixar a classe VerificaCheque extends a ValidaMovimento, mas ai entra no StackOverFlow.
Se alguém puder me ajudar em como organizar essas classes eu agradeço muito.
Ou se precisarem de mais informações, estarei por aqui dando uma olhada e respondendo possíveis perguntas.