3
respostas

Dúvida sobre o método get

A minha dúvida é sobre o get no seguinte trecho de código:

class Cliente
    // Outras propriedades da classe cliente
    public int Idade { get; set; }

    public bool EhMaiorDeIdade
    {
        get
        {
            return this.Idade >= 18;
        }
    }
}

No caso esse get funcionou como um "if", certo que por ser um bool a expressão só pode ser lógica(true, false). Dispensando assim o uso do if, o uso dele acaba se tornando desnecessário! No entanto se ainda assim ele(if) fosse usado, o código funcionaria sem problemas!

Como está essa minha linha de raciocínio?

Desde já agradeço as respostas!

3 respostas

Não entendi muito o seu questionamento, mas para explicar de forma simples o IF/ELSE faz parte da estrutura de decisão, no caso o que usou no Get seria somente uma comparação para retornar um valor booleano. Para se usar uma estrutura de decisão você poderia optar

public bool EhMaiorDeIdade
    {
        get
        {
            if(this.Idade >= 18)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }

ou para Ifs ternários

public bool EhMaiorDeIdade
    {
        get
        {
            return (this.Idade >= 18) ? true : false;
        }
    }

mas se preferir e deixar o código mais enxuto

public bool EhMaiorDeIdade { get => (this.Idade >= 18); }

Minha dúvida está no get, no caso ele só iria ter retorno, "se" a idade fosse maior ou igual à 18.

Sempre vai ter retorno, enquanto o valor idade for maior ou igual a 18 vai retornar true a partir do momento qie o valor idade for menor ou igual a 17 ele irá retornar false.