iai pessoal
estou com um problema eu esou quendo sobrescever um metodo
como eu faço… no caso eu tenho q fazer um metodo e em outra classe usar o mesmo metodo porem
acrescentando mais algumas funções.
eu fiz este metodo
[code]-------- metodo para atualizar as contas ------
e na outra classe eu quero utilizar este metodo seria quando eu fazer uma movimentação bancaria do meu sistema
ela atualize descontando as taxa estipuladas.
[quote=zeimbic]iai pessoal
estou com um problema eu esou quendo sobrescever um metodo
como eu faço… no caso eu tenho q fazer um metodo e em outra classe usar o mesmo metodo porem
acrescentando mais algumas funções.
eu fiz este metodo
[code]-------- metodo para atualizar as contas ------
e na outra classe eu quero utilizar este metodo seria quando eu fazer uma movimentação bancaria do meu sistema
ela atualize descontando as taxa estipuladas.[/quote]
Voce deve extender essa classe onde está o método “original”, e na sua outra classe (filha) voce faz um método identico, com o mesmo nome e parametros, isso por sí só já constitui uma sobreescrita de método.
Exemplo:
[code]class Pai {
public void metodoTeste(int i){
//faz algo
}
}
class Filha extends Pai {
// isso é um override/sobreescrita
public void metodoTeste(int i){
//faz algo + algo
}
}[/code]
Se o método “metodoTeste()” não fosse sobreescrito na classe Filha, ao chamar esse metodo, seria chamado o metodo que foi declarado na classe Pai…
Apenas basta decidir quem deve ser chamado na hora que você precisar do método e passar as quantidades de parâmetros certas.
Espero ter ajudado[/quote]
Apenas para conhecimento, o que você exemplificou acima se chama “sobrecarga” ou “overload” de métodos… no caso dele, ele quer uma sobreescrita, que envolve duas classes, uma delas sendo “extendida” pela outra, e replicando seus métodos… bem, agora você já sabe como fazer os dois, sobreescrita e sobrecarga…
Sobreescrita é quando você “replica” um método de uma classe pai, usando o mesmo nome e a mesma quantidade e tipos de argumentos…
Sobrecarga, é quando você cria vários métodos, apenas alternando na quantidade e tipo de parâmetros, mas mantendo o nome do método… a sobrecarga de métodos independe da herança, já a sobreescrita só acontece quando herdamos/extendemos uma classe…
Herança, com sobreescrita do metodo “metodoTeste” :
[code] class Pai {
public void metodoTeste(int i){
//faz algo
}
}
class Filha extends Pai {
// isso é um override/sobreescrita
public void metodoTeste(int i){
//faz algo + algo
}
} [/code]
Sobrecarga de métodos:
[code]class Pai {
public void metodoTeste(int i){
//faz algo
}
public void metodoTeste(int i, int j){
//faz algo
}
public void metodoTeste(int i, int j, int k){
//faz algo
}