Opa, tudo bom Janio?
Seguinte cara, no exercício o professor cria um método booleano public bool EhMaiorDeIdade()
que por sua vez retorna o resultado de uma expressão booleana return this.idade >= 18;
na sua pergunta, você cria um método void e retorna, mas o metodo do tipo public void ()
não retorna nada, segue a logica, um metodo tipo int retorna um valor int, um metodo tipo bool, retorna um valor bool, e por sua vez um metodo tipo void não retorna nada, pegou?
Olha só o exercício do professor:
class Cliente
{
// outros atributos da classe
public int idade;
public bool EhMaiorDeIdade()
{
return this.idade >= 18;
}
}
Respondendo a sua duvida sobre o if, ao invés de criar um método booleano que retorna true ou false, poderíamos criar sim um laço if, da seguinte maneira:
class Cliente
{
// outros atributos da classe
public int idade;
public bool EhMaiorDeIdade;
if(this.idade => 18)
{
EhMaiorDeIdade = true;
}
else
{
EhMaiorDeIdade = false;
}
}
Embora como você disse não seria a melhor maneira de se resolver o problema, mas também mesmo criando uma variável booleana, o if ainda não seria a solução porque pode se assimilar um valor a variável diretamente em sua criação, como no seguinte:
class Cliente
{
// outros atributos da classe
public int idade;
public bool EhMaiorDeIdade = this.idade >= 18;
}
Neste ultimo exemplo a condição this.idade >= 18
terá seu resultado (true ou false) assimilado a variável booleana EhMaiorDeIdade
Espero ter ajudado :D