Duvida no codigo

1. Duvida no codigo

José Carlos
Pinky

(usa Ubuntu)

Enviado em 26/11/2011 - 15:02h

entao pessoal é o seguinte estou fazendo um projeto que envolve banco de dados e tal mas estou com um problema e vou tentar explicar caso alguem possa me explicar...

seguinte tenho o seguinte codigo:

// estou postano somente o main....pois minha duvida esta na referencia de variavel e instanciaçao....

public static void main(String args[]){

// Pessoa pessoaDAO = new PessoaDAO().Mostar_Buscar("fulano"); --->> dessa maneira aparece os dados do paciente

Pessoa pessoaDAO = new Pessoa(); // } Dessa maneira nao aparece os dados do paciente..
PessoaDAO pessoa = new PessoaDAO(); // } ...aparecendo como null ...

pessoa.Mostar_Buscar("fulano");

System.out.println(pessoaDAO.getNome());
System.out.println(pessoaDAO.getIdade());
System.out.println(pessoaDAO.getRG());
System.out.println(pessoaDAO.getSexo());
System.out.println(pessoaDAO.getNaturalidade());
System.out.println(pessoaDAO.getCidade());
System.out.println(pessoaDAO.getBairro());
System.out.println(pessoaDAO.getEndereco());
System.out.println(pessoaDAO.getCargo());
System.out.println(pessoaDAO.getTelefone());

}

fiz a alteraçao no mesmo topico pois estava confusa a duvida anterior....

oq eu nao entendo é o siguinificado disso:
Pessoa pessoaDAO = new PessoaDAO().Mostar_Buscar("fulano");

e porque nao funciona quando faço assim:
Pessoa pessoaDAO = new Pessoa();
PessoaDAO pessoa = new PessoaDAO()


  


2. Re: Duvida no codigo

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 26/11/2011 - 19:52h

Pessoa pessoaDAO = new PessoaDAO().Mostar_Buscar("fulano");

Lendo o que está acontecendo:

Vc está criando um objeto pessoaDAO que está sendo definido pelo que for retornado pelo método Mostar_Buscar('fulano') que é um método da classe PessoaDAO, que retorna um objeto do tipo pessoa.


Não tenho muita experiência, mas já estou aprendendo sobre isso. Aconselho a pegar algum livro sobre Orientação a Objetos.




3. Re: Duvida no codigo

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 26/11/2011 - 19:55h


e porque nao funciona quando faço assim:
Pessoa pessoaDAO = new Pessoa();
PessoaDAO pessoa = new PessoaDAO()


Você deve analisar o código da classe Pessoa e da classe PessoaDAO, nenhuma dessas classes deve está retornando um objeto com dados no seu método construtor, deve retornar apenas a estrutura, o que na maioria das vezes é natural ;-).

Então só funciona, quando vc usa aquele seu método que recebe um nome e o mesmo deve está fazendo uma busca no banco de dados e retornando os dados da pessoa para o objeto pessoa, o que lhe permite mostrar as informações.

Enfim, tenha paciência e estude sobre a Orientação a Objetos, eu também estou nessa caminhada ;-), é difícil no início, mas aos poucos vc vai enxergando os benefícios.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts