Por exemplo.
boolean isCurrent = false;
O que você chama de getter e setter?
Por exemplo.
boolean isCurrent = false;
O que você chama de getter e setter?
Respostas:
Suponha que você tenha
boolean active;
O método de acessadores seria
public boolean isActive(){return this.active;}
public void setActive(boolean active){this.active = active;}
Veja também
hasCustomName: Agora, o que devo nomear para seus métodos getter e setter ? É setHasCustomName[setter]e hasCustomName[getter]bom?
public boolean isCustomerName(){return this.customerName;} public void setCustomerName(boolean customerName){this.customerName= customerName;}
http://geosoft.no/development/javastyle.html#Specific
isO prefixo deve ser usado para variáveis e métodos booleanos.
isSet,isVisible,isFinished,isFound,isOpenEsta é a convenção de nomenclatura para métodos e variáveis booleanos usados pela Sun para os pacotes principais do Java. O uso do prefixo is resolve um problema comum de escolha de nomes booleanos inválidos, como status ou sinalizador. isStatus ou isFlag simplesmente não se encaixa, e o programador é forçado a escolher nomes mais significativos.
Os métodos setter para variáveis booleanas devem ter o prefixo definido como em:
void setFound(boolean isFound);Existem algumas alternativas ao prefixo is que se encaixam melhor em algumas situações. Estes são prefixos has, can e should:
boolean hasLicense(); boolean canEvaluate(); boolean shouldAbort = false;
hasData, como seria o setter? Certamente, setData(bool hasData)parece-me terrivelmente errado ...
has, can, shouldprefixos não são parte da especificação. Referência JavaBeans Especificação 1,01 secção 8.3.
boolean isIsCurrent(){...}caso contrário a estrutura usada para desserializar o objeto, estava reclamando getter not found for property isCurrent.
Para um campo chamado isCurrent, a nomeação correta de getter / setter é setCurrent()/ isCurrent()(pelo menos é o que o Eclipse pensa), que é altamente confuso e pode ser rastreado até o problema principal:
Seu campo não deve ser chamado isCurrentem primeiro lugar. Is é um verbo e os verbos são inapropriados para representar o estado de um objeto. Em vez disso, use um adjetivo e, de repente, seus nomes de getter / setter farão mais sentido:
private boolean current;
public boolean isCurrent(){
return current;
}
public void setCurrent(final boolean current){
this.current = current;
}
getprefixo ao recuperar um Booleanvs ispara umboolean
Eu acredito que seria:
void setCurrent(boolean current)
boolean isCurrent()
Talvez seja a hora de começar a revisar esta resposta? Pessoalmente, eu votaria para setActive()e unsetActive()(alternativas podem ser setUnActive(), notActive(), disable(), etc. dependendo do contexto) uma vez que "setActive" implica que você ativá-lo em todos os momentos, o que você não faz. É meio contra-intuitivo dizer "setActive", mas remover o estado ativo.
Outro problema é que você não pode ouvir especificamente um evento SetActive de uma maneira CQRS, seria necessário ouvir um 'setActiveEvent' e determinar dentro do ouvinte se o ouvinte está realmente ativo ou não. Ou, é claro, determine qual evento chamar ao chamar, setActive()mas isso vai contra o princípio da separação de preocupações.
Uma boa leitura sobre isso é o artigo do FlagArgument de Martin Fowler: http://martinfowler.com/bliki/FlagArgument.html
No entanto, venho de um histórico em PHP e vejo essa tendência sendo cada vez mais adotada. Não tenho certeza do quanto isso vive com o desenvolvimento Java.
private boolean current;
public void setCurrent(boolean current){
this.current=current;
}
public boolean hasCurrent(){
return this.current;
}
hasusado para BO ou um serviço desse tipo com algum processamento, enquanto para POJO é is. e adicione alguma descrição sobre sua resposta.
Setter: public void setCurrent(boolean val)
Getter: public boolean getCurrent()
Para booleanos, você também pode usar
public boolean isCurrent()
Como levantador, que tal:
// setter
public void beCurrent(boolean X) {
this.isCurrent = X;
}
ou
// setter
public void makeCurrent(boolean X) {
this.isCurrent = X;
}
Não sei se esses nomes fazem sentido para os falantes nativos de inglês.