Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DaniloTec

Padronização de objetos no projeto.

Recommended Posts

Tarde, gente.

 

E tenho uma dúvida com relação a criação de objetos em um projeto. Eu conheço duas formas de se criar métodos dentro de um objeto:

 

Método 1

//PROPRIEDADES
private int _codCliente;
public int CodCliente { get { return this._codCliente; } set { this._codCliente = value; } }

//MÉTODO
public string strDescCliente() {
    ... this.CodCliente;
    return "Resultado";
}

Método 2

//MÉTODO
public string strDescCliente( int CodCliente ) {
    ...
    return "Resultado";
}

O primeiro método eu declaro uma variável pública e outra privada. Na aplicação eu alimento a variável pública e na classe eu trabalho com a variável privada. No segundo eu não declaro variáveis no projeto, eu simplesmente alimento os parâmetros do método e trabalho com ele como quero.

Eu sempre usei estas duas formas, mas não sei a diferença e nem quando usar uma e usar outra.

 

Alguém poderia me explicar?

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teoricamente falando não sei qual é a regra também, mas só crio a propriedade quando tenho que utilizar ela em mais de um lugar e não somente em um método. Se for para utilizar somente no método crio como parâmetro de entrada.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tanto uma forma como outra é correta e depende muito da utilização que será dada a ela.

 

Um exemplo clássico dessas duas utilizações é quando você trabalha com webservices. Por exemplo, se você instanciar uma classe que vem de um webservice, você não vai poder usar o método 1... vai te dar problema pelo seguinte: cada chamada a algum método de uma classe de um webservice é uma nova instância de objeto feita pelo .net. Isso quer dizer que o .net vai limpar todas as variáveis internas da classe a cada chamada de algum método do webservice.

 

Isso te obriga a passar parâmetros pra esses métodos em TODAS as chamadas que você fizer a eles. Eu passei por esse problema, tentei usar variáveis internas da classe num webservice e não deu certo.. o .net sempre as limpava.

 

Agora, se você tem um objeto local mesmo, tanto faz usar um método ou outro. Eu prefiro o método 1, pois evita ficar passando montes de parâmetros para os métodos a cada chamada...

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.