Pessoal, tô com o seguinte problema:
Tenho essa classe aqui
public abstract class DaoPadrao {
private Banco banco;
public DaoPadrao(){
banco = new Banco();
}
public Banco getBanco(){
return banco;
}
public void setBanco(Banco banco){
this.banco = banco;
}
public String getDataLancamento(){
return (new SimpleDateFormat("dd/MM/yyyy")).format(new Date());
}
public String getHoraLancamento(){
return (new SimpleDateFormat("HH:mm:ss")).format(new Date());
}
public String getUsuario(){//Esse método ainda naum está pronto, deve retornar o usuário que está atualmente utilizando o sistema
return "Usuário Não implementado";
}
public List<EntidadeSimples> getLista(){ //Retorna um lista de objetos de qualquer tipo que seja filha de EntidadeSimples
//Implementação irrelevante
}
public List<EntidadeSimples> getLista(String campoPesquisa, String chavePesquisa){
//Implementação irrelevante
}
public void excluir(EntidadeSimples es) throws SQLException {
//Implementação irrelevante
}
public EntidadeSimples getByID(int id) throws SQLException { //Pega o elemento pelo código
//Implementação irrelevante
}
public abstract String getNomeTabela() ;//Garante que a classe saiba o nome da tabela que deverá atuar
public abstract EntidadeSimples populate(ResultSet rs) throws SQLException ;//Popula um objeto com os dados do banco - Deve ser sobrescrito
public abstract void atualizar(EntidadeSimples esVelha, EntidadeSimples esNova) throws SQLException;
public abstract void salvar( EntidadeSimples p) throws SQLException;
}
E essa outra aqui:
public class CidadeDAO extends DaoPadrao{
private EntidadeSimplesDAO paisDao = new EntidadeSimplesDAO(EntidadeSimplesDAO.PAISES);
private EstadoDAO estadoDao = new EstadoDAO();
public void salvar(Cidade c) throws SQLException {
//Implementação irrelevante
}
public void atualizar(Cidade cVelha, Cidade cNova) throws SQLException {
//Implementação irrelevante
}
//Garante que a classe saiba o nome da tabela que deverá atuar
public String getNomeTabela() {
return "Cidades";
}
public EntidadeSimples populate(ResultSet rs) throws SQLException{
//Implementação irrelevante
}
}
Mas o compilador está falando que eu tenho que sobrescrever os métodos salvar() e atualizar()…
Tem como eu sobrescrever métodos com subtipo da classe pai?
Tem uma forma de sanar esse problema?