Ajuda java em Herança

6 respostas
G

[color=red] bom eu tenho duas classes uma pai e outra filho

a filho herda alguns metodos da Classe pai

que sao esses metodos da classe pai [/color]

public void frasesDeRespostaCerta()

{

int numero;
Random numeroAleatorio = new Random();

        numero = numeroAleatorio.nextInt(6);

        switch(numero)
        {
            case 0: System.out.println("Muito bom"); break;
            case 1: System.out.println("Continua assim"); break;
            case 2: System.out.println("Você acertou"); break;
            case 3: System.out.println("Esta indo bem "); break;
            case 4: System.out.println("Excelente"); break;
            case 5: System.out.println("Vamos para proxima pergunta");
        }
 }//fim do metodo fraseRespostaCerta

 //inicio do metodo das frases resposta errada
 public void fraseDeRespostaErrada()
 {
        int numero;//variavel para quarda o numero aleatorio da classe Random

        Scanner input = new Scanner(System.in);

        //classe Random para dar um numero aleatorio
        Random numeroAleatorio = new Random();           

        //inicio do (do while) para ficar perguntando se a resposta continuar
        //dano errada
        do {

            numero = numeroAleatorio.nextInt(6);

            switch(numero)
            {
                case 0: System.out.println("Você errou"); break;
                case 1: System.out.println("Hum resposta errada"); break;
                case 2: System.out.println("Não é essa resposta"); break;
                case 3: System.out.println("Errado"); break;
                case 4: System.out.println("Vamos tentar de novo"); break;
                case 5: System.out.println("Nao esta certo"); break;
            }

            System.out.println(questoes[posicaoDoVetor]);
            respostaDoUsuario = input.next();

            System.out.println(respostaDoUsuario + respostaCerta);

        }while(!respostaDoUsuario.equalsIgnoreCase(respostaCerta));//fim do (do while)

        //para chamar o metodo fraseDeRespostaCerta
        this.frasesDeRespostaCerta();
 }//fim do metodo frasesDerespostaErrada

[color=red]
e a classe filho fica assim para herda os metodos [/color]

public void fraseDeRespostaCerta()

{

super.frasesDeRespostaCerta();
}//fim do metodo fraseDeRespostaCerta

//inicio do metodo das frases resposta errada
public void fraseDeRespostaErrada()
{
       super.fraseDeRespostaErrada();

}//fim do metodo fraseDeRespostaErrada

[color=red]
so quando o usuario erra a pergunta fica fazendo a pergunta da classe pai e nao da classe filho oque tenho que fazer ?

a e o metodo construtor da Classe pai estancia mesmo so usando a Classe filho

gradeço quem poder me ajudar

[/color]

6 Respostas

Lucas_Rinaldi

Por favor bote seu código dentro de [code], assim esta muito dificil de entender alguma coisa.

Rafael_Mesquita_Mour
Li 3 vezes, e entendi a lógica, mas não consigo entender nada dos métodos que você está colocando... só uma dúvida:
super.frasesDeRespostaCerta(); 

super.fraseDeRespostaErrada();

Por que você está utilizando a palavra-chave super (como se estivesse querendo utilizar o método herdado e depois inserir mais funcionalidade ao método), se os métodos da superclasse já são herdados automaticamente pela herança entre a superclasse e a subclasse?

ViniGodoy

O problema ocorre pq nos métodos do filho, vc não criou novas perguntas. Como o colega do post anterior explicou, chama super.seuMetodoDoPai(); só vai chamar o método do pai.

Se quer novas perguntas, escreva as novas perguntas no filho.

gRoOve

Indenta isso e coloca nas tags, dá até uma dor no olho, haha

tiagokihara

quando vc chama super.metodoQualquer() vc está chamando o método da pai!

G

bom vlw pelas resposta ja achei uma luz aqui,

desculpa pela a pergunta sem organizaçao é porque nao sou muito famializado com forum,

to me acustumando ainda blz

Criado 13 de janeiro de 2011
Ultima resposta 13 de jan. de 2011
Respostas 6
Participantes 6