Alo people, tenho um problema com polimosrfismo, que nao estou a compreender.
Codigo1public interface Modificavel {
public void registar(Modificavel m);
public void remover(int id);
public void removerTodos(Modificavel m);
public void editar(Modificavel m);
public Modificavel devolverObjecto(int id);
}
public class Cliente implements Modificavel{
private String nome, contacto, profissao;
private int id;
private String encomenda;
// getters and setters e implementacao de metodos da interface
public void registar(Modificavel m) {
Modificavel cliente = new Cliente();
String sql = "INSERT INTO cliente (nome, contacto, profissao, encomenda) VALUES (?,?,?,?)";
try {
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, cliente.get.Nome()); // erro aqui, no cliente.getNome! Afinal cliente nao é um Cliente? nao pode invocar o metodo getNome()?
statement.execute();
statement.close();
} catch (SQLException e) {
throw new RuntimeException("Bug ao inserir");
}
}
Uma vez que a Cliente implementa Modificavel. Porque a linha statement.setString(1, cliente.get.Nome()); gera erro?
