Codigos Fonte, Artigos e Dicas
Utilizando Parâmetro por Referência em Métodos

Continuando o embalo do último Post (Tipo-Valor e Tipo-Referência), vamos ver o que é um Método que usa parâmetros por referência.
Primeiro vamos relembrar o que é um método que usa parâmetro por valor (provavelmente você já uso muito em funções):
class DiarioDeCodigos{
public static int inteiro;
public static void PassarValor(int param){
this.inteiro = param++;
}
}
A cima está claro que o valor passado é um inteiro, como vimos no último post o int é um tipo-valor, ao executar essa classe e passar qualquer variável como valor ela logicamente não será modificada, apenas o campo inteiro da classe DiarioDeCodigos será modificado.
static void Main(String args[]){
int inteiroTeste = 5;
DiarioDeCodigos.PassarValor(inteiroTeste);
Console.WriteLine(“O valor da variável inteiroTeste é: {0}”, inteiroTeste); //imprimi 5
Console.WriteLine(“O valor da do campo inteiro da classe DiarioDeCodigos é: {0}”, DiarioDeCodigos.inteiro); // imprimi 6
}
Nota: Observe que a classe DiarioDeCodigos não foi instânciada, a palavra-chave static me permite usar um método ou campo de uma classe sem instânciar.
Agora um exemplo de método que utiliza tipo-referência:
class Moto {
public int qtdTanqueGasolina;
public string nomeMoto;
public Moto(){
// Construtor padrão da classe Moto
this.nomeMoto = “SemNome”;
}
public Moto(string nomeMoto){
// Construtor sobrecarregado
this.nomeMoto = nomeMoto;
// Note que o nome do parâmetro é igual ao nome da variável, se você esquecer de
// colocar a palavra-chave “this” para dizer que aquela variável é um campo da classe
// esse código retornaria um erro
}
public void GetNomeMotoAntiga(Moto motoVelha){
Console.WriteLine(“O nome da moto da minha moto antiga é: {0}”, motoVelha.nomeMoto;
}
} // Fim da classe
Moto intruder92 = new Moto(“Intruder 250cc – Antiga”);
Moto intruder09 = new Moto(“Intruder 125cc – Nova”);
intruder09.GetNomeMotoAntiga(intruder92); // imprimi: “Intruder 250cc – Antiga”
No código a cima existe uma classe Moto e essa classe tem um método que recebe a referência de um outro objeto Moto para pegar o atributo nomeMoto de sua antiga Moto.
Ao executar o método GetNomeMotoAntiga pega a referência do campo nomeMoto da instância do objeto passado como parâmetro e imprimi na tela, o nome de sua antiga moto, esse é um exemplo de parâmetro de referência.
Simples assim.
Posts Relacionados
| Imprimir artigo | Este artigo foi escrito por Alexandre Santos em 27 27UTC julho 27UTC 2009 às 17:43, e está arquivado em C# Linguagem. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |

há 2 anos atrás
êita to gostando de ver… cheio de conceitos bons hehehe boa mesmo….
[Reply]