Método é uma seqüência nomeada de instruções. Cada método tem um nome eu um corpo. O corpo contem as instruções que vão ser executadas quando o método for chamado. O nome do método deve ajudar a identificar seu propósito, ex: CalcularImpostoVenda.

A maioria dos métodos recebe dados, processa-os e retorna a informação ou o resultado do processamento. Método é um mecanismo fundamental e poderoso.

Especificando a sintaxe de declaração de um método:

tipoDeRetorno 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 int ou string. Se o seu método não for retornar valor algum, você precisa usar a palavra reservada void aqui, 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. Procure usar notação camelCasing para nomear os métodos e também procure utilizar um verbo na primeira palavra do nome, para ajudar a identificar o que o método faz.
  • 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 fosse 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 que vão ser executadas quando o método é chamado.

O C# não suporta os métodos globais, utilizados por programadores Visual Basic, C e C++.

Abaixo um exemplo de um método chamado AdicionarValores que retorna um numero inteiro (int) e recebe dois números inteiros como paramentos.

int adicionarValores (int numeroPequeno, int numeroGrande)

{

//…

// corpo do método deve ser feito aqui

//…

}

Abaixo um segundo exemplo, de um método chamado mostrarResultado que não retorna nenhum valor, e recebe um simples parâmetro chamado pergunta do tipo int.

void mostrarResultado (int pergunta)

{

// …

}

Lembre-se de usar a palavra reservada void quando o método não for retornar nada.

Escrevendo declarações que retornam valores:

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:

int adicionarValores (int numeroPequeno, int numeroGrande)

{

//…

return numeroPequeno + numeroGrande;

}

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.

Se você não quer que seu método retorne informação alguma (do tipo void), você pode uma variação da palavra reservada return para causar o encerramento imediato do método, para isso digite return seguido de ponto-e-vírgula.

Por exemplo:

void mostrarResultado (int pergunta)

{

if (…)

return;

}

Se o seu método não precisar retornar nada você pode simplesmente omitir o return, porque o método vai ser finalizado automaticamente quando a ultima linha de código do corpo for executada.

Chamando métodos:

Métodos existem para serem chamados. 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.

Especificando a sintaxe para se chamar um método:

nomeDoMetodo (listaDeArgumentos opcional)

  • 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 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 lê não tiver parâmetro algum.

Por exemplo, lembre-se do método adicionarValores:

int adicionarValores (int numeroPequeno, int numeroGrande)

{

//…

return numeroPequeno + numeroGrande;

}

Este método tem dois parâmetros entre os parênteses, para chamá-lo, faça assim:

adicionarValores(39,3)

Esta é a maneira correta de chamar o método, se você tentar das seguintes formas não vai conseguir:

adicionarValores                         // Falta parênteses

adicionarValores()                      // Falta argumentos

adicionarValores(39)                  // Falta um argumento

adicionarValores(“39”, “3”)        // Tipos errados

O método adicionarValores retorna um numero inteiro. Este valor inteiro pode ser usado em qualquer lugar que uma variavel int puder ser usada.

Por exemplo:

resultado = adicionarValores(39,3);

mostrarResultado(adicionarValores(39,3));

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.

Entendendo Escopo:

Você viu que pode criar uma variável dentro de um método. A variável é criada na código que a define, e outros código no mesmo método que vêm depois podem usar a variável. Em outras palavras, uma variável pode ser usada só em certos lugares depois de que ter sido criada. Uma vez que o método terminou, a variável desaparece completamente.

Se uma variável pode ser usada em um local particular em um programa, ela parece estar no escopo daquele local. O escopo de uma variável é simplesmente a região do programa em que ela é utilizável. O escopo se aplica a métodos como também a variáveis. O escopo de uma variável é ligado ao local da sua declaração que introduz a mesma no programa, como você aprenderá agora.

 

Criando escopo local com um método.

As chaves determinam onde começa e onde termina o corpo do método. Elas também determinam o escopo do método. Qualquer variável criada dentro do corpo do método faz parte do escopo do método. Estas variáveis são chamadas de variáveis locais porque são locais ao método onde são declaradas. Elas não podem ser usadas no escopo nenhum outro método, por isso você não pode usar variáveis locais para armazenar informações entre métodos. Quando um método acaba sua execução ele finaliza as variáveis que ele criou.

Por exemplo:

class Exemplo

{

void método()

{

int variavel;

}

void outroMetodo()

{

variavel = 42;  // isso gera um erro de compilação

}

}

O erro mostrado acima é porque a variavel foi criada dentro de um método diferente da qual esta sendo usada.

Criando escopo de classe com uma classe:

As chaves determinam onde começa e onde termina o corpo da classe e determinam seu escopo. Assim sendo, qualquer variável que você criar dentro do corpo da classe (mas que não estejam dentro do método), fazem parte do seu escopo. Em C# o nome correto desse tipo de variável é campo. Em contraste as variáveis locais você pode usar os campos para armazenar informações entre os métodos.

Por exemplo:

class Exemplo

{

int campo;

void método()

{

campo = 42;

}

void outroMetodo()

{

campo = 44;

}

}

Perceba que criamos a variável dentro da classe.

Em um método você precisa declarar uma variável antes de usá-la. Campos são diferentes, um método pode usar um campo antes de ser definido algum valor para ele.

Conclusão

Você aprendeu que um método é uma seqüência nomeada de instruções. O que é preciso para criar um método e como chamá-lo.

Aprendeu também sobre o escopo e o que é um campo.

No próximo tutorial faremos um exemplo prático de como criar métodos e chamá-los.

 

Autor: HERBERT MORONI CAVALLARI DA COSTA GOIS