5 Duvidas de um iniciante

4 respostas
A

Ola Pessoal, sou iniciante entao por esta razao nao atirem em mim…ok? :shock:
Peguei o codigo abaixo da revista Java Magazine, era de um artigo que explicava o uso do modificador final…entendi 100%.

public abstract class OperacaoBanco {
     ....
     ....
   private void enviaDados(DadosCliente dc)
    throws ValidacaoException{
    //Aqui sao realizadas operacoes seguras e criticas
    //como autenticacao, compactacao, etc
    ....
    ....
   }

   protected abstract DadosCliente coletaDados(){
   //As subclasses coletam os dados de forma especifica     
   }

   public final void realizaOperacao()
    trows ValidacaoException{
    //Eh importante que esta operacao seja realizada apenas da forma
    //definida nesta classe
    enviaDados(coletadaDados());
  }  

}

Olhando o codigo, fiquei com “outras” duvidas, sao elas:

  1. protected abstract DadosCliente coletaDados() - Da forma como estah escrito ali, DadosCliente parace que eh outra classe e e nao um metodo. Me parece tambem que estah chamando ou declarando um metodo, eh isto mesmo? Voei nesta aqui…

  2. enviaDados(coletadaDados()) - Aqui eh chamado o metodo enviaDados que passa como parametro o resultado do processamento do metodo coletaDados ou o objeto coletaDados, como me refiro a este tipo de “jogada”.
    Qual dos metodos eh executado primeiro, o enviaDados ou o coletaDados?

  3. Quando uma classe eh abstract, o que ela tem de diferenca para as outras?

  4. Abstract pode ser usado para metodos tambem? Em caso positivo, que caracteristicas ele dah a o metodo?

  5. Pelo que sei, THROWS serve para 3 coisas:
    1 - Passar o tratamento da excecao para que chamou a classe
    2 - Informar ao metodo que tipo excecao pode ocorrer
    3 - Forcar uma exececao, para um eventual teste em uma classe, por exemplo

    Estou certo quanto ao THROWS? :?

Agradeco qq ajuda…quem daqui ja nao foi iniciante e com a cabeca cheia de duvidas. To estudando bastante mas tem coisa que agente tem q pedir arrego aos outros…Beleza?!

Grande abraco.
Aurelio :oops:

4 Respostas

Leandro_Rangel_Santo

duvida 1 :

  1. protected abstract DadosCliente coletaDados() - Da forma como estah escrito ali, DadosCliente parace que eh outra classe e e nao um metodo. Me parece tambem que estah chamando ou declarando um metodo, eh isto mesmo? Voei nesta aqui…
  • sim ,DadosCliente é uma classe ,que é o valor de retorno do metodo coletaDados() que esta sendo declarado nessa linha como metodo abstrato

duvida 2 :

  1. enviaDados(coletadaDados()) - Aqui eh chamado o metodo enviaDados que passa como parametro o resultado do processamento do metodo coletaDados ou o objeto coletaDados, como me refiro a este tipo de “jogada”.
    Qual dos metodos eh executado primeiro, o enviaDados ou o coletaDados?
  • o enviaDados() recebe como argumento uma referencia do objeto retornado pelo metodo coletaDados() , o coletaDados é executado primeiro

duvida 3 :

  1. Quando uma classe eh abstract, o que ela tem de diferenca para as outras?
  • diferença é que se ela é abstrata ,ela não pode ser instanciada

duvida 4 :

  1. Abstract pode ser usado para metodos tambem? Em caso positivo, que caracteristicas ele dah a o metodo?
  • pode ser usado sim ,se sua classe tem um metodo abstrato ,isso implica que sua classe tem que ser abstrata ,e que quando essa classe for herdada ,o metodo tem que ser implementado pelo filho

duvida 5 :

  1. Pelo que sei, THROWS serve para 3 coisas:
    1 - Passar o tratamento da excecao para que chamou a classe
    2 - Informar ao metodo que tipo excecao pode ocorrer
    3 - Forcar uma exececao, para um eventual teste em uma classe, por exemplo
  • existem 2 palavras reservadas , “throws” e “throw” , throws atente ao item 2 ( quando você define na assinatura do metodo as exceções que ele pode levantar ) , e o throw é responsavel pelos itens 1 e 3

qualquer coisa é só perguntar

M

Posta pra gente o codigo inteiro para dar uma analizada melhor, com certeza todo mundo vai ter o maior prazer em ajudar.
Gostaria de ver esse exemplo pois me interessou bastante, assim vc repassa conhecimento e sana suas duvidas…

valeu… :lol:

A

Obrigado aos colegas :wink:
Marçola, nao tenho como postar mais q aquele codigo, ele tah completo ali. Eh de uma das edicoes da Revista Java Magazine e soh tem aquilo ali mesmo.

Grande abraco para voces e valeu mesmo. Esclareceram minhas duvidas.
Aurelio :shock:

M

Então aurelio me passa o nº da edição por favor…

obrigado

Criado 7 de setembro de 2003
Ultima resposta 8 de set. de 2003
Respostas 4
Participantes 3