gets e sets na própria classe???

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

gets e sets na própria classe???

by Tux Slack :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Olá pessoal,

Gostaria de saber se é uma boa prática usar os métodos get() e set() dentro da própria classe do atributo. tipo:

public class Classe {
   int nome;
   public getNome() { ... }
   public setNome() { ... }

   public Stirng toString() { return "nome: " + getNome(); }
   public Stirng toString() { return "nome: " + nome; }


}

pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos dois métodos, por isso gostaria de saber de vcs qual a melhor prática, devido a encapsulamento e tal... está errado o segundo toString? é uma má prática? enfim, gostaria de esclarecer essas dúvidas com vcs.

Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas classes pra nao haver uma explosão de métodos de acesso nas classes, mas acabei nao tirando ennhum pq o toString() está usando todos...

e aew, o que vcs me dizem?

agradeço desde já qualquer explicação.

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Otávio Augusto :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Acho que seu primeiro toString eh desnecessario.
Ta encapsulando o atributo privado "nome" tanto quanto "getNome".

/O

2008/7/23 Tux Slack <slack.tux@...>:

> Olá pessoal,
>
> Gostaria de saber se é uma boa prática usar os métodos get() e set() dentro
> da própria classe do atributo. tipo:
>
> public class Classe {
>    int nome;
>    public getNome() { ... }
>    public setNome() { ... }
>
>    public Stirng toString() { return "nome: " + getNome(); }
>    public Stirng toString() { return "nome: " + nome; }
>
> }
>
> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos dois
> métodos, por isso gostaria de saber de vcs qual a melhor prática, devido a
> encapsulamento e tal... está errado o segundo toString? é uma má prática?
> enfim, gostaria de esclarecer essas dúvidas com vcs.
>
> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
> classes pra nao haver uma explosão de métodos de acesso nas classes, mas
> acabei nao tirando ennhum pq o toString() está usando todos...
>
> e aew, o que vcs me dizem?
>
> agradeço desde já qualquer explicação.
>
> >
>



--
Otávio Augusto

"A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects."
Robert A. Heinlein

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Fabrício E. Moreira :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Aconselhor usar as convenções JavaBeans.  Veja: http://pt.wikipedia.org/wiki/JavaBeans

Sds,
Fabrício

2008/7/23 Tux Slack <slack.tux@...>:
Olá pessoal,

Gostaria de saber se é uma boa prática usar os métodos get() e set() dentro da própria classe do atributo. tipo:

public class Classe {
   int nome;
   public getNome() { ... }
   public setNome() { ... }

   public Stirng toString() { return "nome: " + getNome(); }
   public Stirng toString() { return "nome: " + nome; }


}

pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos dois métodos, por isso gostaria de saber de vcs qual a melhor prática, devido a encapsulamento e tal... está errado o segundo toString? é uma má prática? enfim, gostaria de esclarecer essas dúvidas com vcs.

Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas classes pra nao haver uma explosão de métodos de acesso nas classes, mas acabei nao tirando ennhum pq o toString() está usando todos...

e aew, o que vcs me dizem?

agradeço desde já qualquer explicação.





--
Fabrício Entringer Moreira

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Rafael Ponte :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Somos obrigados a utilizar getters e setters por causa de frameworks que seguem a especificação JavaBeans (a maioria deles são frameworks para camada de visão). Estes métodos só deveriam ser utilizados quando necessário, e não se tornar um doença na aplicação, essa especificação induz muitos desenvolvedores a tratar seus objetos como meros containers de dados apenas, objetos sem comportamentos e lógica dentro.

Esses artigos são muito bons,
http://blog.caelum.com.br/2006/09/14/nao-aprender-oo-getters-e-setters/

E este,
http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/

Abraços.

2008/7/23 Fabrício E. Moreira <moreira@...>:
Aconselhor usar as convenções JavaBeans.  Veja: http://pt.wikipedia.org/wiki/JavaBeans

Sds,
Fabrício

2008/7/23 Tux Slack <slack.tux@...>:
Olá pessoal,


Gostaria de saber se é uma boa prática usar os métodos get() e set() dentro da própria classe do atributo. tipo:

public class Classe {
   int nome;
   public getNome() { ... }
   public setNome() { ... }

   public Stirng toString() { return "nome: " + getNome(); }
   public Stirng toString() { return "nome: " + nome; }


}

pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos dois métodos, por isso gostaria de saber de vcs qual a melhor prática, devido a encapsulamento e tal... está errado o segundo toString? é uma má prática? enfim, gostaria de esclarecer essas dúvidas com vcs.

Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas classes pra nao haver uma explosão de métodos de acesso nas classes, mas acabei nao tirando ennhum pq o toString() está usando todos...

e aew, o que vcs me dizem?

agradeço desde já qualquer explicação.





--
Fabrício Entringer Moreira





--
Rafael Ponte
http://www.rponte.com.br

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Tux Slack :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Otávio, é exatamente essa minha dúvida.. eu também acho desnecessário, mas quero saber qual a melhor prática, usar get() ou o atributo diretamente nos métodos da mesma classe.
vc saberia explicar isso?


2008/7/23 Fabrício E. Moreira <moreira@...>:
Aconselhor usar as convenções JavaBeans.  Veja: http://pt.wikipedia.org/wiki/JavaBeans

Sds,
Fabrício

2008/7/23 Tux Slack <slack.tux@...>:
Olá pessoal,


Gostaria de saber se é uma boa prática usar os métodos get() e set() dentro da própria classe do atributo. tipo:

public class Classe {
   int nome;
   public getNome() { ... }
   public setNome() { ... }

   public Stirng toString() { return "nome: " + getNome(); }
   public Stirng toString() { return "nome: " + nome; }


}

pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos dois métodos, por isso gostaria de saber de vcs qual a melhor prática, devido a encapsulamento e tal... está errado o segundo toString? é uma má prática? enfim, gostaria de esclarecer essas dúvidas com vcs.

Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas classes pra nao haver uma explosão de métodos de acesso nas classes, mas acabei nao tirando ennhum pq o toString() está usando todos...

e aew, o que vcs me dizem?

agradeço desde já qualquer explicação.





--
Fabrício Entringer Moreira




--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Jadson Santos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


       Eu já vi gente dizendo que usa porque, por exemplo, se um método "set" realizar alguma validação antes de atribuir o valor ao atributo, o código desta validação não necessita ser duplicado na classe.

        Eu acho desnecessário, porque dentro de uma simples classe não era para existir tanto código assim que justifique isso e também porque o atributo já é da própria classe mesmo, então ela tem o direito de realizar o que quiser com ele e a obrigação de mante-lo consistente. Não precisa ficar encapsulando o próprio atributo.


2008/7/23 Tux Slack <slack.tux@...>:
Olá pessoal,

Gostaria de saber se é uma boa prática usar os métodos get() e set() dentro da própria classe do atributo. tipo:

public class Classe {
   int nome;
   public getNome() { ... }
   public setNome() { ... }

   public Stirng toString() { return "nome: " + getNome(); }
   public Stirng toString() { return "nome: " + nome; }


}

pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos dois métodos, por isso gostaria de saber de vcs qual a melhor prática, devido a encapsulamento e tal... está errado o segundo toString? é uma má prática? enfim, gostaria de esclarecer essas dúvidas com vcs.

Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas classes pra nao haver uma explosão de métodos de acesso nas classes, mas acabei nao tirando ennhum pq o toString() está usando todos...

e aew, o que vcs me dizem?

agradeço desde já qualquer explicação.





--
Jadson José dos Santos
* Engenheiro de Computação
* Especialista em Desenvolvimento de Sistemas Corporativos

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Flávio Santos-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Nem toda aplicação usa frameworks.
Não somos obrigados a sempre usar suas convenções.

Não basta usar por usar.
A idéia de usar os gets e sets ao meu ver é que você se restringe a
uma única forma de acesso ao atributo.
Por exemplo, se você quer formatar um valor sempre antes de
retorná-lo. Sem usar o get isso pode quebrar.
O mesmo serve para o set. Se você quer fazer algum tratamento no
atributo antes de setá-lo, é mais adequado você usar o método set para
isso.

[]'s

Flávio Roberto Santos
http://www.ourgrid.org/~flavio


2008/7/23 Fabrício E. Moreira <moreira@...>:

> Aconselhor usar as convenções JavaBeans.  Veja:
> http://pt.wikipedia.org/wiki/JavaBeans
>
> Sds,
> Fabrício
>
> 2008/7/23 Tux Slack <slack.tux@...>:
>>
>> Olá pessoal,
>>
>> Gostaria de saber se é uma boa prática usar os métodos get() e set()
>> dentro da própria classe do atributo. tipo:
>>
>> public class Classe {
>>    int nome;
>>    public getNome() { ... }
>>    public setNome() { ... }
>>
>>    public Stirng toString() { return "nome: " + getNome(); }
>>    public Stirng toString() { return "nome: " + nome; }
>>
>> }
>>
>> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos
>> dois métodos, por isso gostaria de saber de vcs qual a melhor prática,
>> devido a encapsulamento e tal... está errado o segundo toString? é uma má
>> prática? enfim, gostaria de esclarecer essas dúvidas com vcs.
>>
>> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
>> classes pra nao haver uma explosão de métodos de acesso nas classes, mas
>> acabei nao tirando ennhum pq o toString() está usando todos...
>>
>> e aew, o que vcs me dizem?
>>
>> agradeço desde já qualquer explicação.
>>
>>
>
>
>
> --
> Fabrício Entringer Moreira
> >
>

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Tux Slack :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Valeu Rafael e Flávio..
Tirou minhas dúvidas...
Obrigado mesmo.

2008/7/23 Flávio Santos <flavio.barata@...>:

Nem toda aplicação usa frameworks.
Não somos obrigados a sempre usar suas convenções.

Não basta usar por usar.
A idéia de usar os gets e sets ao meu ver é que você se restringe a
uma única forma de acesso ao atributo.
Por exemplo, se você quer formatar um valor sempre antes de
retorná-lo. Sem usar o get isso pode quebrar.
O mesmo serve para o set. Se você quer fazer algum tratamento no
atributo antes de setá-lo, é mais adequado você usar o método set para
isso.

[]'s

Flávio Roberto Santos
http://www.ourgrid.org/~flavio


2008/7/23 Fabrício E. Moreira <moreira@...>:
> Aconselhor usar as convenções JavaBeans.  Veja:
> http://pt.wikipedia.org/wiki/JavaBeans
>
> Sds,
> Fabrício
>
> 2008/7/23 Tux Slack <slack.tux@...>:
>>
>> Olá pessoal,
>>
>> Gostaria de saber se é uma boa prática usar os métodos get() e set()
>> dentro da própria classe do atributo. tipo:
>>
>> public class Classe {
>>    int nome;
>>    public getNome() { ... }
>>    public setNome() { ... }
>>
>>    public Stirng toString() { return "nome: " + getNome(); }
>>    public Stirng toString() { return "nome: " + nome; }
>>
>> }
>>
>> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos
>> dois métodos, por isso gostaria de saber de vcs qual a melhor prática,
>> devido a encapsulamento e tal... está errado o segundo toString? é uma má
>> prática? enfim, gostaria de esclarecer essas dúvidas com vcs.
>>
>> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
>> classes pra nao haver uma explosão de métodos de acesso nas classes, mas
>> acabei nao tirando ennhum pq o toString() está usando todos...
>>
>> e aew, o que vcs me dizem?
>>
>> agradeço desde já qualquer explicação.
>>
>>
>
>
>
> --
> Fabrício Entringer Moreira
> >
>




--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Jadson Santos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Permita-me reformular a pergunta.

" Vamos supor que o uso de um método set ou get seja justificado. Eu devo usá-lo para acessar um atributo quando estou dentro da própria classe deste atributo ?"

Eu já dei a minha resposta: eu acho que não deve !


2008/7/23 Flávio Santos <flavio.barata@...>:

Nem toda aplicação usa frameworks.
Não somos obrigados a sempre usar suas convenções.

Não basta usar por usar.
A idéia de usar os gets e sets ao meu ver é que você se restringe a
uma única forma de acesso ao atributo.
Por exemplo, se você quer formatar um valor sempre antes de
retorná-lo. Sem usar o get isso pode quebrar.
O mesmo serve para o set. Se você quer fazer algum tratamento no
atributo antes de setá-lo, é mais adequado você usar o método set para
isso.

[]'s

Flávio Roberto Santos
http://www.ourgrid.org/~flavio


2008/7/23 Fabrício E. Moreira <moreira@...>:
> Aconselhor usar as convenções JavaBeans.  Veja:
> http://pt.wikipedia.org/wiki/JavaBeans
>
> Sds,
> Fabrício
>
> 2008/7/23 Tux Slack <slack.tux@...>:
>>
>> Olá pessoal,
>>
>> Gostaria de saber se é uma boa prática usar os métodos get() e set()
>> dentro da própria classe do atributo. tipo:
>>
>> public class Classe {
>>    int nome;
>>    public getNome() { ... }
>>    public setNome() { ... }
>>
>>    public Stirng toString() { return "nome: " + getNome(); }
>>    public Stirng toString() { return "nome: " + nome; }
>>
>> }
>>
>> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos
>> dois métodos, por isso gostaria de saber de vcs qual a melhor prática,
>> devido a encapsulamento e tal... está errado o segundo toString? é uma má
>> prática? enfim, gostaria de esclarecer essas dúvidas com vcs.
>>
>> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
>> classes pra nao haver uma explosão de métodos de acesso nas classes, mas
>> acabei nao tirando ennhum pq o toString() está usando todos...
>>
>> e aew, o que vcs me dizem?
>>
>> agradeço desde já qualquer explicação.
>>
>>
>
>
>
> --
> Fabrício Entringer Moreira
> >
>





--
Jadson José dos Santos
* Engenheiro de Computação
* Especialista em Desenvolvimento de Sistemas Corporativos

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Otávio Augusto :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Soh isso. get e set. pra cada atributo privado que queira acessar.


/O

2008/7/23 Jadson Santos <jadsonjs@...>:

> Permita-me reformular a pergunta.
>
> " Vamos supor que o uso de um método set ou get seja justificado. Eu devo
> usá-lo para acessar um atributo quando estou dentro da própria classe deste
> atributo ?"
>
> Eu já dei a minha resposta: eu acho que não deve !
>
>
> 2008/7/23 Flávio Santos <flavio.barata@...>:
>>
>> Nem toda aplicação usa frameworks.
>> Não somos obrigados a sempre usar suas convenções.
>>
>> Não basta usar por usar.
>> A idéia de usar os gets e sets ao meu ver é que você se restringe a
>> uma única forma de acesso ao atributo.
>> Por exemplo, se você quer formatar um valor sempre antes de
>> retorná-lo. Sem usar o get isso pode quebrar.
>> O mesmo serve para o set. Se você quer fazer algum tratamento no
>> atributo antes de setá-lo, é mais adequado você usar o método set para
>> isso.
>>
>> []'s
>>
>> Flávio Roberto Santos
>> http://www.ourgrid.org/~flavio
>>
>>
>> 2008/7/23 Fabrício E. Moreira <moreira@...>:
>> > Aconselhor usar as convenções JavaBeans.  Veja:
>> > http://pt.wikipedia.org/wiki/JavaBeans
>> >
>> > Sds,
>> > Fabrício
>> >
>> > 2008/7/23 Tux Slack <slack.tux@...>:
>> >>
>> >> Olá pessoal,
>> >>
>> >> Gostaria de saber se é uma boa prática usar os métodos get() e set()
>> >> dentro da própria classe do atributo. tipo:
>> >>
>> >> public class Classe {
>> >>    int nome;
>> >>    public getNome() { ... }
>> >>    public setNome() { ... }
>> >>
>> >>    public Stirng toString() { return "nome: " + getNome(); }
>> >>    public Stirng toString() { return "nome: " + nome; }
>> >>
>> >> }
>> >>
>> >> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos
>> >> dois métodos, por isso gostaria de saber de vcs qual a melhor prática,
>> >> devido a encapsulamento e tal... está errado o segundo toString? é uma
>> >> má
>> >> prática? enfim, gostaria de esclarecer essas dúvidas com vcs.
>> >>
>> >> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
>> >> classes pra nao haver uma explosão de métodos de acesso nas classes,
>> >> mas
>> >> acabei nao tirando ennhum pq o toString() está usando todos...
>> >>
>> >> e aew, o que vcs me dizem?
>> >>
>> >> agradeço desde já qualquer explicação.
>> >>
>> >>
>> >
>> >
>> >
>> > --
>> > Fabrício Entringer Moreira
>> > >
>> >
>>
>>
>
>
>
> --
> Jadson José dos Santos
> * Engenheiro de Computação
> * Especialista em Desenvolvimento de Sistemas Corporativos
> >
>



--
Otávio Augusto

"A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects."
Robert A. Heinlein

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Erick Moreno :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Jadson,

Se eu agrupei toda a lógica para setar um atributo da minha classe no método set...() e quero setar esse atributo em algum outro lugar na minha classe, prq não usar o meu método? É pra isso que ele existe, seja pra se chamado de fora ou de dentro da minha classe.

[]'s
Erick Moreno

2008/7/23 Jadson Santos <jadsonjs@...>:
Permita-me reformular a pergunta.

" Vamos supor que o uso de um método set ou get seja justificado. Eu devo usá-lo para acessar um atributo quando estou dentro da própria classe deste atributo ?"

Eu já dei a minha resposta: eu acho que não deve !


2008/7/23 Flávio Santos <flavio.barata@...>:

Nem toda aplicação usa frameworks.
Não somos obrigados a sempre usar suas convenções.

Não basta usar por usar.
A idéia de usar os gets e sets ao meu ver é que você se restringe a
uma única forma de acesso ao atributo.
Por exemplo, se você quer formatar um valor sempre antes de
retorná-lo. Sem usar o get isso pode quebrar.
O mesmo serve para o set. Se você quer fazer algum tratamento no
atributo antes de setá-lo, é mais adequado você usar o método set para
isso.

[]'s

Flávio Roberto Santos
http://www.ourgrid.org/~flavio


2008/7/23 Fabrício E. Moreira <moreira@...>:
> Aconselhor usar as convenções JavaBeans.  Veja:
> http://pt.wikipedia.org/wiki/JavaBeans
>
> Sds,
> Fabrício
>
> 2008/7/23 Tux Slack <slack.tux@...>:
>>
>> Olá pessoal,
>>
>> Gostaria de saber se é uma boa prática usar os métodos get() e set()
>> dentro da própria classe do atributo. tipo:
>>
>> public class Classe {
>>    int nome;
>>    public getNome() { ... }
>>    public setNome() { ... }
>>
>>    public Stirng toString() { return "nome: " + getNome(); }
>>    public Stirng toString() { return "nome: " + nome; }
>>
>> }
>>
>> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos
>> dois métodos, por isso gostaria de saber de vcs qual a melhor prática,
>> devido a encapsulamento e tal... está errado o segundo toString? é uma má
>> prática? enfim, gostaria de esclarecer essas dúvidas com vcs.
>>
>> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
>> classes pra nao haver uma explosão de métodos de acesso nas classes, mas
>> acabei nao tirando ennhum pq o toString() está usando todos...
>>
>> e aew, o que vcs me dizem?
>>
>> agradeço desde já qualquer explicação.
>>
>>
>
>
>
> --
> Fabrício Entringer Moreira
> >
>





--
Jadson José dos Santos
* Engenheiro de Computação
* Especialista em Desenvolvimento de Sistemas Corporativos




--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Fabrício E. Moreira :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Acreditor que a especificação javabeans seja somente uma convenção, não é de uso obrigatório (somente para alguns frameworks), mas ajuda na manutenção quando se trabalha em grande equipe.

E a mesma coisa que outras liguagens, por exemplo, a convenção da Borland é "TMinhaClasse" para classe, mas isso não quer disser que todas as classes devem ser iniciadas com T, usa que quer, mas quem programa a muito tempo quando ver algo do tipo "TMinhaClasse" já sabe que se refere a uma classe.


Sds,
Fabrício



2008/7/23 Erick Moreno <erickmoreno@...>:
Jadson,

Se eu agrupei toda a lógica para setar um atributo da minha classe no método set...() e quero setar esse atributo em algum outro lugar na minha classe, prq não usar o meu método? É pra isso que ele existe, seja pra se chamado de fora ou de dentro da minha classe.

[]'s
Erick Moreno

2008/7/23 Jadson Santos <jadsonjs@...>:
Permita-me reformular a pergunta.


" Vamos supor que o uso de um método set ou get seja justificado. Eu devo usá-lo para acessar um atributo quando estou dentro da própria classe deste atributo ?"

Eu já dei a minha resposta: eu acho que não deve !


2008/7/23 Flávio Santos <flavio.barata@...>:

Nem toda aplicação usa frameworks.
Não somos obrigados a sempre usar suas convenções.

Não basta usar por usar.
A idéia de usar os gets e sets ao meu ver é que você se restringe a
uma única forma de acesso ao atributo.
Por exemplo, se você quer formatar um valor sempre antes de
retorná-lo. Sem usar o get isso pode quebrar.
O mesmo serve para o set. Se você quer fazer algum tratamento no
atributo antes de setá-lo, é mais adequado você usar o método set para
isso.

[]'s

Flávio Roberto Santos
http://www.ourgrid.org/~flavio


2008/7/23 Fabrício E. Moreira <moreira@...>:
> Aconselhor usar as convenções JavaBeans.  Veja:
> http://pt.wikipedia.org/wiki/JavaBeans
>
> Sds,
> Fabrício
>
> 2008/7/23 Tux Slack <slack.tux@...>:
>>
>> Olá pessoal,
>>
>> Gostaria de saber se é uma boa prática usar os métodos get() e set()
>> dentro da própria classe do atributo. tipo:
>>
>> public class Classe {
>>    int nome;
>>    public getNome() { ... }
>>    public setNome() { ... }
>>
>>    public Stirng toString() { return "nome: " + getNome(); }
>>    public Stirng toString() { return "nome: " + nome; }
>>
>> }
>>
>> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos
>> dois métodos, por isso gostaria de saber de vcs qual a melhor prática,
>> devido a encapsulamento e tal... está errado o segundo toString? é uma má
>> prática? enfim, gostaria de esclarecer essas dúvidas com vcs.
>>
>> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
>> classes pra nao haver uma explosão de métodos de acesso nas classes, mas
>> acabei nao tirando ennhum pq o toString() está usando todos...
>>
>> e aew, o que vcs me dizem?
>>
>> agradeço desde já qualquer explicação.
>>
>>
>
>
>
> --
> Fabrício Entringer Moreira
> >
>





--
Jadson José dos Santos
* Engenheiro de Computação
* Especialista em Desenvolvimento de Sistemas Corporativos








--
Fabrício Entringer Moreira

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Jadson Santos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Erick,

       Se você vê necessidade nisso pode usar. Foi o que eu falei antes, acho desnecessário (não errado, apenas desnecessário) porque em poucas situações você vai ter uma lógica muito grande dentro de um método set ou get que possa justificar a reutilização.

        Tem muita gente que acha que acessando x diretamente vai está quebrando alguma boa prática da POO e prefere usar getX(). Mas pelo que eu sei, se você está dentro da própria classe, pode perfeitamente acessar x direto que vai está seguindo a POO.

         Até porque, teoricamente, se o atributo está na classe é porque você vai usar.
E se for acessar através de métodos vai precisar gerar todos os métodos "setters" e "getters" e vai acabar tornando-os "públicos" indiretamente. Aí sim, vai está quebrando uma boa prática da POO .


2008/7/23 Erick Moreno <erickmoreno@...>:
Jadson,

Se eu agrupei toda a lógica para setar um atributo da minha classe no método set...() e quero setar esse atributo em algum outro lugar na minha classe, prq não usar o meu método? É pra isso que ele existe, seja pra se chamado de fora ou de dentro da minha classe.

[]'s
Erick Moreno

2008/7/23 Jadson Santos <jadsonjs@...>:
Permita-me reformular a pergunta.


" Vamos supor que o uso de um método set ou get seja justificado. Eu devo usá-lo para acessar um atributo quando estou dentro da própria classe deste atributo ?"

Eu já dei a minha resposta: eu acho que não deve !


2008/7/23 Flávio Santos <flavio.barata@...>:

Nem toda aplicação usa frameworks.
Não somos obrigados a sempre usar suas convenções.

Não basta usar por usar.
A idéia de usar os gets e sets ao meu ver é que você se restringe a
uma única forma de acesso ao atributo.
Por exemplo, se você quer formatar um valor sempre antes de
retorná-lo. Sem usar o get isso pode quebrar.
O mesmo serve para o set. Se você quer fazer algum tratamento no
atributo antes de setá-lo, é mais adequado você usar o método set para
isso.

[]'s

Flávio Roberto Santos
http://www.ourgrid.org/~flavio


2008/7/23 Fabrício E. Moreira <moreira@...>:
> Aconselhor usar as convenções JavaBeans.  Veja:
> http://pt.wikipedia.org/wiki/JavaBeans
>
> Sds,
> Fabrício
>
> 2008/7/23 Tux Slack <slack.tux@...>:
>>
>> Olá pessoal,
>>
>> Gostaria de saber se é uma boa prática usar os métodos get() e set()
>> dentro da própria classe do atributo. tipo:
>>
>> public class Classe {
>>    int nome;
>>    public getNome() { ... }
>>    public setNome() { ... }
>>
>>    public Stirng toString() { return "nome: " + getNome(); }
>>    public Stirng toString() { return "nome: " + nome; }
>>
>> }
>>
>> pelo meu pouco conhecimento em java, não vejo nada errado em nenhum dos
>> dois métodos, por isso gostaria de saber de vcs qual a melhor prática,
>> devido a encapsulamento e tal... está errado o segundo toString? é uma má
>> prática? enfim, gostaria de esclarecer essas dúvidas com vcs.
>>
>> Essa dúvida surgiu, quando eu quis tirar vários gets e sets das minhas
>> classes pra nao haver uma explosão de métodos de acesso nas classes, mas
>> acabei nao tirando ennhum pq o toString() está usando todos...
>>
>> e aew, o que vcs me dizem?
>>
>> agradeço desde já qualquer explicação.
>>
>>
>
>
>
> --
> Fabrício Entringer Moreira
> >
>





--
Jadson José dos Santos
* Engenheiro de Computação
* Especialista em Desenvolvimento de Sistemas Corporativos








--
Jadson José dos Santos
* Engenheiro de Computação
* Especialista em Desenvolvimento de Sistemas Corporativos

--~--~---------~--~----~------------~-------~--~----~
=================================================================
Site: http://pbjug.org/
Grupo: http://groups.google.com/group/pbjug
-
Para cancelar a sua inscrição neste grupo, envie um e-mail para pbjug-unsubscribe@...
=================================================================
-~----------~----~----~----~------~----~------~--~---


Re: gets e sets na própria classe???

by Erick Moreno :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Acho que o que não ficou claro, é que em muitos casos temos uma lógica para a recuperação e modificação de um atributo. Essa lógica deve ser colocada dos gets e sets da vida, e se ela existe, deve ser respeitada por todo o código, inclusive dentro da própria classe.

O que vc diz, aplica-se apenas aos casos em que o get e o set não fazem nada além de recuperar e atualizar os atributos. Nessas circunstâncias, concordo com vc, que é o mesmo que acessar diretamente, mas é bem diferente de não dever usar gets e sets como vc afirmou.

[]'s
Erick Moreno

2008/7/23 Jadson Santos <jadsonjs@...>: