Jump to content
AngusYoung

Métodos Set e Get

Recommended Posts

AngusYoung

Tenho uma dúvida:

Os métodos set e get são reconhecidos pelo seu nome (começam por set ou get) ou a palavra set ou get no seu nome apenas está lá para serem melhor entendidos?

Por exemplo, poderia o método getBookName chamar-se chamarNomeLivro?

Obrigado desde já  :cheesygrin:


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Share this post


Link to post
Share on other sites
KTachyon

Podes dar o nome que quiseres aos métodos.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
HappyHippyHippo

nada te impede de chamar os métodos de a, b e c. Mas mesmo tu começaras a ter problemas em saber o que estes métodos fazem.


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Baderous

Em certas tecnologias como o JSF (JavaServer Faces), os métodos get e set deverão começar mesmo por esse nome. Para além disso é uma regra que todos os programadores de Java seguem, daí que será mais fácil para ti se te habituares desde já a seguir esta regra.

Share this post


Link to post
Share on other sites
joseerodrigues

Em certas tecnologias como o JSF (JavaServer Faces), os métodos get e set deverão começar mesmo por esse nome. Para além disso é uma regra que todos os programadores de Java seguem, daí que será mais fácil para ti se te habituares desde já a seguir esta regra.

E para além de "regra", iria acrescentar também que faz parte da especificação de JavaBeans, que diz que uma dita "bean" expõe propriedades através dos respectivos getters e setters (e o "is" para booleans).

É precisamente através deste mecanismo que algumas tecnologias permitem reconhecer automáticamente as propriedades de um objecto, e interagir com elas, seja na janela de propriedades de um IDE, ou como o Baderous referiu, através de EL (expression language) no caso dos JSF e JSP, via reflection, etc...

Apenas um input adicional, espero que não levem a mal :P

Cumprimentos,

José Rodrigues

Share this post


Link to post
Share on other sites
Knitter

Como já foi referido, é apenas uma convenção. Neste caso esta é uma convenção que faz parte das regras de escrita de código seguidas pela maioria dos programadores, estas regras não são mais que linhas orientadores criadas pela Sun Microsystems quando o Java foi criado e servem para tornar o código mais fácil de ler.

Mais tarde algumas regras tornaram-se base para a criação de sistemas de automatização. O caso dos EJB é um exemplo do uso dos prefixos set e get para identificar propriedades, definir se são de leitura, escrita ou ambos e ajudam em muitas ferramentas, como os IDEs já referidos. Por exemplo, o NetBeans IDE mostra um painel de propriedades quando estás a fazer interfaces gráficas cujas opções são criadas a partir de métodos que começam com o prefixo set.

A não ser que estejas a trabalhar com uma qualquer tecnologia de automatização, não há nada na plataforma Java que te obrigue a cumprir com essas regras, tal como não há nada que obrigue a que as classes tenham nomes que começam com maiúsculas, ou que todas as classes devem ter um package definido e nunca usar o package default, ou que as variáveis e métodos não devem ter underscores nos nomes. No entanto é recomendado que sigas as regras se quiseres seguir com a utilização da linguagem para que estejas habituado a elas quando usares código de outras pessoas ou para que te habitues a seguir regras de escrita de código para o caso de ires trabalhar com algum grupo de programadores que use determinadas regras.

Existe uma tradução das regras de escrita de código no tutorial de Java presente na wiki do P@P se estiveres interessado em dar uma vista de olhos.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.