Nao entendo qual a vantagem de transformar o método ehMaiorDeIdade(), em uma property? Qual o objetivo? Entendo o porque dos atributos, quando quero limitar a escrita somente para a propria classe, mas nao entendo o sentido de transformar o método
Nao entendo qual a vantagem de transformar o método ehMaiorDeIdade(), em uma property? Qual o objetivo? Entendo o porque dos atributos, quando quero limitar a escrita somente para a propria classe, mas nao entendo o sentido de transformar o método
Olá Janile,
isso é uma questão de convenção de código. O Guia de Programação em C# sugere que você implemente uma propriedade como se fosse um atributo. Ou seja, se a sua lógica é bem simples e retorna algo sem fazer muita computação, faça uma propriedade. Se a sua lógica é mais complexa ou produz algum efeito colateral (como alterar o estado do seu objeto), então você deve fazer um método.
Isso facilita na hora que alguém for utilizar o seu código. Se a pessoa olha e vê uma propriedade, já sabe que pode usá-la sem nenhum problema, inclusive no meio de códigos complexos. Agora, se ela olha e vê que é um método, já pode suspeitar que algo mais complexo é feito e que não é uma boa ideia inserir esse código no meio de algo já complexo.
Exemplos:
A propriedade ehMaiorDeIdade é um exemplo de uma lógica simples: executa apenas uma condição e não altera o estado do objeto. Por isso é esperado que ela esteja em uma propriedade.
Uma ContasDesseCliente(), que procura em todas as contas do sistema quais são as desse cliente e retorna uma lista de todas elas é um exemplo de código complexo e, por isso, deveria estar em um método.
Um HorarioDaUltimaConsulta() que retorna quando foi a última consulta mas, antes disso, guarda o horário atual em um atributo para poder retorná-lo na próxima chamada do método altera o estado do objeto e, por isso, deveria estar em um método.
Se quiser se aprofundar, dê uma olhada no Guia de Programação em C#: https://msdn.microsoft.com/pt-br/library/w86s7x04.aspx