Sobreescrever o metodo

7 respostas
F

como sobreescrever o metodo criaConta? Gostaria de acrescentar novos dados(como limite).
desde já agradeço

public void criaConta(){ System.out.println("Digite o nome: "); setNome(nome); System.out.println("Digite o nº da conta: "); setNumConta(numConta); System.out.println("Digite o saldo: "); setSaldo(saldo);

7 Respostas

rafaelglauber

Oi,

Neste caso você não precisa sobrescrever nada já que não terá uma nova classe filha dessa que tá criando, mas pode sim criar vários metodos com a mesma assinatura, basta que mude justamente os parâmetros para que o compilador entendar qual metodo está sendo chamado, exemplo:

class H {
	
 public void criaConta(){  
     System.out.println("Digite o nome: ");  
     System.out.println("Digite o nº da conta: ");  
     System.out.println("Digite o saldo: ");  
  }
 public void criaConta(String nome){  
     System.out.println("Digite o nome: ");  
     System.out.println("Digite o nº da conta: ");  
     System.out.println("Digite o saldo: ");  
  }
}

tenho dois metodos chamados criaConta, mas cada um deles tem parâmetros diferentes, ou melhor, um tem e outro não tem.

F

no caso ele terá que ser escrito numa outra classe
e a classe por sinal é filha dessa classe Conta(que possui o método criaconta )
Eu tenho que acrescentar a inclusão da variavel limite
obrigado.

shoko

nesse caso, reescreva ele utilizando a keyword super ou seja você irá chamar a implementação do método da pai + oq você quiser.

Ex

class J extends H {

private int limite;	
 public void criaConta(){  
    super.criaConta();
    System.out.println("Digite o Limite: ");  
  }

}
//impl métodos limite

era mais ou menos isso que você queria?

rafaelglauber
fernandomoncao:
no caso ele terá que ser escrito numa outra classe e a classe por sinal é filha dessa classe Conta(que possui o método criaconta ) Eu tenho que acrescentar a inclusão da variavel limite obrigado.

é só criar nessa nova classe um método com a mesma assinatura, porém com o novo parâmetro que você quer, não tem problemas já que você não colocou final em seu método, isso sim iria impedir a sobrescrita dele. Exemplo:

class H {
	
 public void criaConta(){  
     System.out.println("Digite o nome: ");  
     System.out.println("Digite o nº da conta: ");  
     System.out.println("Digite o saldo: ");  
  }
}
class H2 extends H {
	
 public void criaConta(String nome, String teste){  
     System.out.println("Digite o nome: ");  
     System.out.println("Digite o nº da conta: ");  
     System.out.println("Digite o saldo: ");  
  }
}
shoko

rafaelglauber:

é só criar nessa nova classe um método com a mesma assinatura, porém com o novo parâmetro que você quer, não tem problemas já que você não colocou final em seu método, isso sim iria impedir a sobrescrita dele.

Você não acha mais fácil ele utilizar o super, já que a classe filha fará o mesmo que a mãe só que mais um pouco, pois ai ele economizaria de ter que reescrever códigos e códigos.

abraco

rafaelglauber

shoko:
Você não acha mais fácil ele utilizar o super, já que a classe filha fará o mesmo que a mãe só que mais um pouco, pois ai ele economizaria de ter que reescrever códigos e códigos.

Ele não disse que iria aproveitar nada…usar o super ou não depende do que ele quer fazer exatamente.

:smiley:

F

exatamente isso shoko
pensei que seria mais facil sobreescrever o metodo acrescentando algo a mais
mas não soube como fazer

Criado 30 de julho de 2008
Ultima resposta 30 de jul. de 2008
Respostas 7
Participantes 3