Uma das maneiras pelas quais podemos promulgar o encapsulamento de dados é através do uso de acessadores e mutadores. O papel dos descritores e mutadores de acesso é retornar e definir os valores do status de um objeto. Aprendemos a agendar descritores de acesso e mutadores em Java. Como exemplo, usaremos uma classe pessoal com o estado e construtor já definido:
métodos de acesso
Um método de acesso é usado para retornar o valor de um campo privado. Siga um esquema de nomenclatura que impede a palavra “obter” no início do nome do método. Por exemplo, adicione métodos de acesso para primeiro, middlenames e lastname:
Esses métodos são sempre devolvidos o mesmo tipo de dados como seu campo privado correspondente (por exemplo, string) e, em seguida, simplesmente retornar o valor desse campo Privado.
Agora podemos acessar seus valores através dos métodos de um objeto pessoal:
Métodos mutantes
Um método de mutador é usado para definir um valor de um campo privado. Siga um esquema de nomenclatura que impede a palavra “conjunto” no início do nome do método. Por exemplo, vamos adicionar campos mutantes para o endereço e nome de usuário:
Esses métodos não têm uma taxa de retorno e aceitam um parâmetro que é o mesmo tipo de dados que seu campo privado correspondente. Em seguida, o parâmetro é usado para definir o valor desse campo privado.
Agora é possível modificar os valores de endereço e o nome de usuário dentro do objeto da pessoa:
pelo que usar acessórios e mutadores?
É fácil chegar à conclusão de que poderíamos simplesmente alterar os campos privados da definição de classe para que eles sejam públicos e obtenham os mesmos resultados. É importante lembrar que queremos esconder os dados do objeto o máximo possível. O buffer adicional fornecido por esses métodos nos permite:
- Altere a maneira pela qual os dados do quadro são tratados.
- impõe validação aos valores em que os campos .
digamos que decidimos modificar como armazenamos os segundos nomes. Em vez de apenas uma cadeia, agora podemos usar uma matriz de corrente:
A implementação dentro do objeto foi alterada, mas o mundo externo não é afetado. A maneira como eles são chamados de métodos exatamente são exatamente os mesmos:
ou, digamos que o aplicativo que usa o objeto de pessoa só pode aceitar nomes de usuários que têm no máximo dez caracteres. Podemos adicionar validação no mutador de SetUserName para garantir que o nome de usuário esteja em conformidade com este requisito:
Agora, se o nome de usuário passou para o nome do SetSerName tiver mais de dez caracteres, ele é automaticamente truncado.