Java é uma programação orientada a objetos ( OOP) de linguagem. Código orientado a objeto é organizado usando uma construção chamada de " classe", que serve como um modelo para a criação de um "objeto ". Um objeto é uma coleção de propriedades (variáveis membro) e comportamentos (métodos) . Normalmente, variáveis membro são privados e pode acessado somente pelo objeto que os contenham. "Get" e "set" métodos , também chamados de " getters " e " setters ", são métodos especiais que interagem com variáveis de membro privadas. Função
Getters e setters , ou métodos " assessor " , proporcionar o acesso a propriedades de um objeto . Um método get retorna o valor de uma propriedade detida por um objeto. Um método get tem um tipo de retorno correspondente ao tipo da variável de membro associado. Seja métodos geralmente não tomar quaisquer parâmetros. Um método set tem um " vazio" tipo de retorno e leva um parâmetro do tipo apropriado para atribuir à variável de membro associado.
Convenções
métodos de acesso são usadas por objetos externos e, portanto, são declarados como métodos ( externamente visíveis) "públicos" . A convenção aceita é para nomear métodos get e set para a variável de membro associado (por exemplo, " getName " e " setName ", associado ao "nome" variável) , com o prefixo "get" ou "set ". Nem todas as variáveis de membro associado pode ter métodos de acesso . Estes métodos são escritos apenas para valores que precisam ser acessado externamente .
Finalidade
Restringir o acesso a variáveis de membro de um objeto faz parte de uma prática chamada " encapsulamento . " Encapsulation compartimenta os componentes de um objeto , ocultando a implementação ( funcionamento interno ) do objeto que não precisa ser visível externamente , e proteger os dados internos de modificação desmarcada. Métodos de acesso podem executar cálculos , validação ou outras ações que seriam anuladas , fazendo variáveis membro directamente acessíveis.
Benefícios
Proteger variáveis de membro usando métodos de acesso permite que os programadores facilmente mudar o código interno , sem alterar a forma como a classe é usada por outros. Isso evita a necessidade de alterações de código em um aplicativo quando uma única classe é modificada. Getters pode executar cálculos e ações necessárias para produzir um valor , minimizando a quantidade de código externo necessário para usar o valor. Setters pode executar a validação , evitando erros causados por variáveis de membro a ser definidas para valores inválidos.
Considerações
Adicionando métodos de acesso a uma classe deve ser feito de forma conservadora . Apenas variáveis membros que exigem acesso externo deve ter métodos de acesso . Propriedades que só deve ser modificada pelo funcionamento interno não precisa setters. As propriedades que não têm nenhuma relevância externa não deve ter getters . Esta prática minimiza a exposição de implementação de um objeto, e protege as propriedades de modificação que podem introduzir erros de tempo de execução . Quanto menos métodos públicos houver, mais fácil de manter o código será.