Por exemplo, suponha que você tenha um método usado para autenticar os usuários em seu website, e que este método defina um parâmetro opcional para informar se o usuário deseja ou não que seus dados de acesso fiquem gravados no browser:
// Tenta logar um usuário no sistema.
static bool LogarUsuario(string login, string senha,
bool salvarSenha = false)
{
// Algum método definido para realizar a autenticação
// dos usuários.
if (Servidor.AutenticarUsuario(login, senha))
{
// Verifica se o usuário deseja que sua senha fique salva
// no browser.
if (salvarSenha)
{
// Salva os dados de acesso do usuário.
Servidor.ManterUsuarioLogado();
}
// O usuário foi autenticado com sucesso.
return true;
}
else
{
// O login ou senha do usuário é inválido.
return false;
}
}
No método LogarUsuario() o último parâmetro recebe um valor default false através de uma atribuição feita dentro da definição de parâmetros. Dessa forma, nós podemos chamar LogarUsuario() de duas formas:
bool isUsuarioAutenticado = LogarUsuario("João", "*****");
bool isUsuarioAutenticado = LogarUsuario("João", "*****", true);
Como a primeira chamada ao método não especificou nenhum valor para o terceiro parâmetro ele será passado com o valor default definido na declaração do método, neste caso false, significando portanto que o usuário deverá informar o login e senha novamente caso ele saia do site e volte depois. Já a segunda chamada ao método especifica os valores de todos os parâmetros, e portanto o valor default do parâmetro opcional será ignorado e substituído pelo valor fornecido pelo chamador, neste caso true, o que fará com que o sistema mantenha o usuário autenticado mesmo se ele sair do site e retornar novamente.
bool salvarSenha = false)
{
// Algum método definido para realizar a autenticação
// dos usuários.
if (Servidor.AutenticarUsuario(login, senha))
{
// Verifica se o usuário deseja que sua senha fique salva
// no browser.
if (salvarSenha)
{
// Salva os dados de acesso do usuário.
Servidor.ManterUsuarioLogado();
}
// O usuário foi autenticado com sucesso.
return true;
}
else
{
// O login ou senha do usuário é inválido.
return false;
}
}
No método LogarUsuario() o último parâmetro recebe um valor default false através de uma atribuição feita dentro da definição de parâmetros. Dessa forma, nós podemos chamar LogarUsuario() de duas formas:
bool isUsuarioAutenticado = LogarUsuario("João", "*****");
bool isUsuarioAutenticado = LogarUsuario("João", "*****", true);
Como a primeira chamada ao método não especificou nenhum valor para o terceiro parâmetro ele será passado com o valor default definido na declaração do método, neste caso false, significando portanto que o usuário deverá informar o login e senha novamente caso ele saia do site e volte depois. Já a segunda chamada ao método especifica os valores de todos os parâmetros, e portanto o valor default do parâmetro opcional será ignorado e substituído pelo valor fornecido pelo chamador, neste caso true, o que fará com que o sistema mantenha o usuário autenticado mesmo se ele sair do site e retornar novamente.
Nenhum comentário:
Postar um comentário