Estava estudando SCJP 5 e me deparei com uma questão que me deixou na duvida.
Pelo que li na internet nomes de métodos devem começar com a primeira letra minuscula e se forem nomes compostos as iniciais dos proximos nomes devem ser maiusculas, seguindo o padrão camelCase.
Exemplo: getTamanho, setNome e usando “set” “get” e “is” corretamente segundo o JavaBeans.
Então encontrei uma questão que dava como resposta correta dois métodos em negrito abaixo:
vc deve estar atento se os objetivos desse tópico da prova. Se é sobre JavaBeans ou se é sobre compilar ou não compliar… è uma forma de confundir e tirar a atenção para outra cosia que nao tem nada a ver!
ele funciona perfeitamente, mas não está de acordo com a especificação JavaBeans…
[quote=giovaniufop]Estava estudando SCJP 5 e me deparei com uma questão que me deixou na duvida.
Pelo que li na internet nomes de métodos devem começar com a primeira letra minuscula e se forem nomes compostos as iniciais dos proximos nomes devem ser maiusculas, seguindo o padrão camelCase.
Exemplo: getTamanho, setNome e usando “set” “get” e “is” corretamente segundo o JavaBeans.
Então encontrei uma questão que dava como resposta correta dois métodos em negrito abaixo:
Mas o método getcidade não obedece o camelCase, veja que cidade esta escrito com letra minuscula, tah certo essa resposta?
[/quote]
E ai, blz?
Bom na minha opnião, se a questão cobra explicitamente o padrão JavaBeans, esta resposta não é correta.
Somente se fosse getCidade.
Mas de que livro você viu esta questão?
Abraço.
Mas olha lá direitinho se ta escrito getcidade ou getCidade o que é totalmente diferente.
Vc deve procurar ai na net as erratas do livro. Tem todas as questões erradas tem erros tbm de capitulos nos ensinamentos.
PERGUNTA 5 pagina 45 2ª edição SCJP - KATHY SIERRA
Na verdade eu usei getcidade como exemplo, mas o exercicio real é o seguinte, da mesma maneira q esta escrito no livro:
Olhando a resposta dada no livro, percebe-se que a autora quis dizer quais são os métodos que usam os PREFIXOS corretos, mas na pergunta ela não passou esse significado (ou pelo menos nã versão traduzida não)
Quais nomes de métodos obedecem ao padrão JavaBeans? (Marque todas as corretas)
A. addSize
B. getcust
C. deleteRep
D. isColorado
E. putDimension
Resposta do livro:
B e D usam prefixos validos get e is.
A, C e E estão incorretas porque add, delete e put não são nomes de prefixos JavaBeans padrões.
[quote=giovaniufop]PERGUNTA 5 pagina 45 2ª edição SCJP - KATHY SIERRA
Na verdade eu usei getcidade como exemplo, mas o exercicio real é o seguinte, da mesma maneira q esta escrito no livro:
Olhando a resposta dada no livro, percebe-se que a autora quis dizer quais são os métodos que usam os PREFIXOS corretos, mas na pergunta ela não passou esse significado (ou pelo menos nã versão traduzida não)
Quais nomes de métodos obedecem ao padrão JavaBeans? (Marque todas as corretas)
A. addSize
B. getcust
C. deleteRep
D. isColorado
E. putDimension
Resposta do livro:
B e D usam prefixos validos get e is.
A, C e E estão incorretas porque add, delete e put não são nomes de prefixos JavaBeans padrões.
[/quote]
Hum, acho que esta questão está mesmo errada.
Não sei se vc notou, mas no livro tem alguns erros de português e outros no próprio código, então deve ter sido mais um erro.
Mas com toda certeza esta opção não é válida.
isso tem cara de erro de digitação da editora… mais assim… nao se aprenda a isso do livro… principal da tradução… saiba das Regras JavaBeans… e se vc tiver o whizlabs la tem questoes a respeito… E outra JavaBeans nao cobrado apenas na SCJP SCWCD ela é aplicada a todo momento e vc percebe isso nos metodos e quanto ela é importante… entao aprenda as regras que para SCJP nao sao muitas… e isso é o essencial…
e add, put etc realmente nao cobre javabeans observe que o livro é abordado isso… lei atentamente a parte teorica do javabeans que ta bem explicado no livro… porem percebi falha nessas questoes tb mais isso vc releva…
se a gnt tah encontrando os erros ISSO É BOM, significa q realmente aprendemos auhuaa
o pior seria se tivesse errado e a gnt nem visse, ae ia ser foda rs
[quote=giovaniufop]Estava estudando SCJP 5 e me deparei com uma questão que me deixou na duvida.
Pelo que li na internet nomes de métodos devem começar com a primeira letra minuscula e se forem nomes compostos as iniciais dos proximos nomes devem ser maiusculas, seguindo o padrão camelCase.
Exemplo: getTamanho, setNome e usando “set” “get” e “is” corretamente segundo o JavaBeans.
Então encontrei uma questão que dava como resposta correta dois métodos em negrito abaixo:
Mas o método getcidade não obedece o camelCase, veja que cidade esta escrito com letra minuscula, tah certo essa resposta?
[/quote]
CamelCase não faz parte da especificação apenas uma nomenclatura padrão de prefixos paras os métodos acessores e modificadores. A resposta está certa.
A convenção de escrita não pode interferir com os padrões e vice-versa.
A convenção de escrita é para facilitar a leitura por seres humanos e não para ser compativel com ceto padrão.
mas na pagina 5 do livro 2ª edição, no topico: Regras de Nomeação de Propriedades JavaBean
Tem um item que esta escrito assim:
"Para ter o nome completo de um metodo getter ou setter, passe a primeira letra do nome da propriedade para maiuscula e depois anexe o prefixo apropriado (get, is ou set).
Baseado nisso eu mais uma vez volto a acreditar que a questão estava incorreta.
[quote=giovaniufop]mas na pagina 5 do livro 2ª edição, no topico: Regras de Nomeação de Propriedades JavaBean
Tem um item que esta escrito assim:
"Para ter o nome completo de um metodo getter ou setter, passe a primeira letra do nome da propriedade para maiuscula e depois anexe o prefixo apropriado (get, is ou set).
A regras dos nomes é imposta à parte pelas boas regras de programação em java. Contudo não ha uma obrigação tecnica a que assim seja.
Por outro lado vc está usando o livro preparatório para especificação como um documento que define os padrões. Não é assim que funciona. O livro está preocupado em fazê-lo entender em poucas linhas as regras que vc tem que usar para passar no exame. Por isso ele fornece mnemonicas. Contudo, passar no exame não significa que vc entende as regras: apenas significa que as sabe.
Para entender as regras procure as documentações oficiais.
Se duvidar crie um JavaBean com os nomes em minuscula e teste…