Skip to content

#09 Curso C# – Métodos e escopo

E ai tudo bom?

Esse é mais um artigo da série do curso de C# e agora vamos aprender um pouco sobre métodos e escopo. No artigo de hoje a coisa começa a ficar mais séria 🙂 e a partir de agora você realmente estará desenvolvendo em C#. Bom artigo a todos!

Criando métodos

Método é uma seqüência nomeada de instruções. Cada método tem um nome e um corpo. O corpo contem instruções que vão ser executadas quando o método for chamado. O nome do método deve ajudar identificar seu propósito, ex: CalcularImpostoVenda. A maioria dos métodos recebe informações, processa-os e retorna a informação ou o resultado do processamento. Método é um mecanismo fundamental e poderoso. Exemplo segue abaixo:

IipoDeRetorno NomeDoMetodo ( listaDeParamentros opcional )
{
// corpo do método
}

• TipoDeRetorno – é o tipo de dado que vai ser retornado pelo método após sua execução. Pode ser o nome de qualquer tipo como exemplo int, string. Se o seu método não for retornar valor algum, você precisa usar a palavra reservada void, especificando que o método não retorna nada.

• NomeDoMetodo – é o nome que vai ser usado para chamar o método. Este nome deve seguir as mesmas recomendações usadas nos nomes das variáveis.

• ListaDeParametros – descreve o tipo e os nomes das informações opcionais que o método recebe. Você escreve os parâmetros dentro dos parênteses como se fossem declarar variáveis: nome do tipo seguido pelo nome do parâmetro. Se o seu método tiver mais que um parâmetro, separe-os com vírgula.

• Corpo do método – linhas de código (instruções) que vão ser executadas quando o método é chamado. Abaixo um exemplo de um método chamado AdicionarValores que retorna um numero inteiro (int) e recebe dois números inteiros como paramentos.

[sourcecode language=”csharp”]
int AdcionarValores(int numeroPequeno, int numeroGrande)
{
// Corpo do método. Aqui coloca-se as Instruções
return 0;
}
[/sourcecode]
Abaixo segue um exemplo de um outro método mas este não retorna nenhum valor. Sabemos disso por que o método é “void”

[sourcecode language=”csharp”]
void ConfigurarValorInicial(int valor)
{
valor = 6;
}
[/sourcecode]
Veja acima que como este método é void, no corpo do método não foi utilizado à palavra reservada return. Se você quer que seu método retorne uma informação (em outras palavras que retorne um tipo e não um void), você precisa escrever um código de retorno dentro do método. Para isso você usa a palavra reservada return, seguida da expressão que calcula o valor a ser retornado. Atenção, porque o resultado da expressão deve ser do mesmo tipo que o especificado como tipoDeRetorno do método, senão o programa não vai compilar.

Por exemplo:

[sourcecode language=”csharp”]
int IdadeDoPaciente()
{
return 56;
}
[/sourcecode]
Vejam que não foi passado nenhum parâmetro por que para a regra do método não foi necessária. E também deve ser observado que o número retornado 56 é do mesmo tipo do método. Lembre-se do ponto-e-vírgula ao final de cada instrução. O retorno do método deve estar no final do método porque ele causa a finalização do método. Qualquer código depois da linha que faz o retorno não vai ser executado.

Chamada de métodos

Métodos existem para serem chamado, caso contrario apague o seu método, pois está gerando lixo para seu código. Você chama um método pelo seu nome para ele executar uma tarefa. Se esse método precisa de informações para realizar sua tarefa (parâmetros), você precisa enviar essas informações pra ele. Se o método retornar uma informação, você precisa ter uma forma de receber essa informação, como uma variável, por exemplo.

• nomeDoMetodo – Precisa ser exatamente igual ao nome do método que você esta chamando, lembre-se que o C# é case-sensitive ou seja, diferencia maiúsculas de minúsculas.

• listaDeArgumentos – Informações adicionais que o método aceita, você precisa passar um valor para cada parâmetro e este valor precisa ser compatível com o tipo correspondente ao parâmetro. Se o método que você esta chamando tiver dois ou mais parâmetros, você precisa separar os valores com vírgula.

Importante: Você precisa escrever os parênteses ao final de cada método, mesmo que o método não tiver parâmetro algum.

Por exemplo, lembra do método adicionarValores? Olhe o exemplo abaixo:

[sourcecode language=”csharp”]
int AdicionarValores(int numeroPequeno, int numeroGrande)
{
return numeroPequeno + numeroGrande;
}
[/sourcecode]
Este método tem dois parâmetros entre os parênteses, para chamá-lo, faça assim:

[sourcecode language=”csharp”]
AdicionarValores(39, 3);
[/sourcecode]
Esta é a maneira correta de chamar o método, se você tentar das seguintes formas não vai conseguir:

[sourcecode language=”csharp”]
adicionarValores; // Falta parênteses
adicionarValores(); // Falta argumentos
adicionarValores(39); // Falta um argumento
adicionarValores("39", "3"); // Tipos errados
[/sourcecode]
O método AdicionarValores retorna um numero inteiro. Este valor inteiro pode ser usado em qualquer lugar que uma variável int possa ser usada.

Por exemplo:

[sourcecode language=”csharp”]
int resultado = adicionarValores(39,3);
mostrarResultado(adicionarValores(39,3));
[/sourcecode]
No primeiro exemplo atribuímos o retorno a uma variável chamada resultado. No segundo atribuímos o resultado a outro método, que vai utilizar este resultado como parâmetro para sua execução.

Sobrecarga

Quando dois ou mais métodos são definidos na mesma classe com o mesmo nome, dizemos que houve uma sobrecarga de métodos. Uma sobrecarga de métodos só é valida se as listas de parâmetros dos métodos são diferentes de si. Exemplos de sobrecarga existem nas bibliotecas do C# por exemplo, “WriteLine()” pode receber vários parâmetros diferentes, mas a função de todas elas é a mesma.

Qualidade de código em método

“Desenvolver um método que a maquia entenda é fácil, difícil é desenvolver um método que as pessoas compreendam” – Autor Bob. É por isso que eu convido você a ler um artigo (http://stephanyhenriquebatista.wordpress.com/2012/05/25/codigo-de-qualidade/) que fiz sobre qualidade de código em métodos.

Pessoal o artigo termina aqui e espero que tenham gostado. Fiquem com Deus e até o próximo.

Published inQualidade de software

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *