Pessoal, tenho uma dúvida bem simples.
Não costumo utilizar classes abstratas, contudo tenho uma classe em meu sistema que faz operações de CRUD, e é o que preciso.
Porém, o meu CRUD não terá exclusão, gostaria de utilizar todos métodos da classe abstrata que tem operações de CRUD sem implementar o método de exclusão.
Pergunta:
Há como eu fazer isso, sem criar o método de exclusão e deixa-lo “em branco” - ou mesmo transformar minha classe em abstrata e criar outra classe que utiliza esta extends a classe que criei?
Implemente a classe abstrata de CRUD.
Porém na implementação deixe o método de exclusão em branco e de preferencia com um comentário curto e objetivo sobre o por quê não foi implementado exclusão nele.
[quote=andrestrindade]Olá, a pergunta foi se há utilizar a classe abstrata sem fazer isso - não é desejável deixar o “lixo” na classe, o método em branco! :lol:
Obrigado[/quote]
Não tem como. Você é obrigado a fazer isso!
Outra coisa isso não é deixar lixo! Recomendo que você leia o livro Use a Cabeça - Padrões de Projeto!
Nesses casos você pode fazer como os colegas falaram e deixar o método em branco ou levantar uma exeção (UnsupportedOperationException) o que eu recomendo.
Você vai se deparar em muitos casos com isso. Se você, por exemplo, implementar o padrão State, fazer esse tipo de operação é obrigatório. Então não pense que você está fazendo algo errado.