fabiobh:
Minha intenção em tentar usar henraça multipla é para poder aproveitar variaveis que eu ja criei em outras classes
por exemplo:
public class GravaEventos {
private Integer eve_id;
private String eve_nome;
//outros metodos
}
public class GravaCargo {
private Integer car_id;
private String car_nome;
private String car_tipo;
//outros metodos
}
public class GravaEstado {
private Integer est_id;
private String est_nom;
private String est_sigla;
//outros metodos
}
//outras classes
a minha inteção era pegar todos essa variaveis ja criadas e reusa-las em uma unica classe, que se eu conseguisse iria me poupar muito trabalho, pois caso eu nao consiga, terei de criar todos as variaveis novamente na minha nova classe
Esse parece um típico caso em que o uso da herança seria totalmente incorreto.
Herança não deve ser usada para reaproveitar métodos ou variáveis, e sim para indicar uma relação de É UM.
Por exemplo, isso está Ok:
class Cachorro extends Animal {
// Beleza, cachorro É UM Animal !
}
Mas isso não!
class Cachorro extends Palhaço {
// Cachorro não é um Palhaço, isso é apenas uma gambiarra.
// Já que ambos fazem coisas engraçadas, vou aproveitar o método fazerCoisasEngracadas() da classe Palhaco
}
Aí você me pergunta:
- Então você vai duplicar todo o código, seu idiota?
- Calma, não precisa ficar nervoso, existe um bom jeito de fazer isso.
class FazedorDeCoisasEngracadas {
void fazerCoisasEngracadas() {
....
}
}
class Cachorro {
FazedorDeCoisasEngracadas graca = new FazedorDeCoisasEngracadas();
//... aqui vai mais código com as atividades típicas de um cachorro
//Posso utilizar o método fazerCoisasEngracadas() sem problema.
}
class Palhaco {
FazedorDeCoisasEngracadas graca = new FazedorDeCoisasEngracadas();
//... aqui vai mais código com as atividades típicas de um palhaço
//Posso utilizar o método fazerCoisasEngracadas() sem problema.
}
Nunca é demais citar o nosso querido livro EFFECTIVE JAVA: