Sitaxe Java x Sintaxe Delphi (Muito Interessante)  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
remixlara
JavaChild
[Avatar]

Membro desde: 09/01/2008 09:45:44
Mensagens: 132
Offline

Galera...

Estou participando de um projeto na universidade em que estudo e inicialmente este projeto foi desenvolvido em delphi. Só que devido algumas mudanças foi necessario implementação deste sistema em Java.

Tenho uma boa experiencia em delphi e percebi uma diferença interessante e gostaria saber se vcs podem me ajudar

DUVIDA:

No deplhi podemos fazer referencia às propriedades de um componente sem precisar repetir o nome do mesmo, desta forma:

Com repetição >>



Sem repetição >>



--------------------------------------------------------

no java eu gostaria de saber se tem como fazer isso?

um exemplo JAVA >>>



// Voces podem perceber que eu repeti 'painelCadastrarServidor' 3 vezes... o que se torna um pouco trabalhoso a depender da quantidade de componentes em tela...

serei grato a ajuda de vocês...

[Email] [WWW] [Yahoo!] [MSN]
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1615
Offline

Realmente, Java não tem a construção with...do. E sinceramente, eu particularmente não gosto não. E até interessante quando se tem um bloco muito grande de setter ou getter de um mesmo objeto, mas se você tiver que colocar código no meio fica muito confuso, pois não dá pra saber se o método que você chama é do objeto referenciado ou da classe. Esse comando veio do Pascal, de uma época em que não se tinha IDE's poderosas em que você dispõe de autocomplete.

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
yoshikichi
JavaEvangelist
[Avatar]

Membro desde: 25/07/2008 22:43:59
Mensagens: 335
Localização: São Paulo
Offline

Um conselho, esqueca Delphi...
Acessar uma propriedade diretamente é meio procedural.
em vez disso utilize metodos.
falow

http://yoshikichi.wordpress.com/

Hibernate Brasil:
http://groups.google.com/group/hibernate-brasil
[Email] [WWW]
jairelton
JavaChild

Membro desde: 23/06/2006 13:36:04
Mensagens: 108
Offline

Em Java não existe nada semelhante.

E mexer com componentes de GUI manualmente é muito trabalhoso mesmo, recomendo o uso de alguma IDE pra isso, como o Netbeans.

Jair Elton
davidtiagoconceicao
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2008 07:28:29
Mensagens: 567
Localização: Blumenau - SC
Offline

Também desconheço opção deste tipo na linguagem Java.
Como foi citado, um bom editor com boas opções de autocomplete já vai te ajudar bastante.
Uma dica é verificar quais construtores o objeto disponibiliza e configurar o objeto já ao instanciar, economizando algumas possíveis chamadas a setters. No exemplo de adicionar listeners que você postou, acho que não irá encontrar construtores com estas opções, mas em outros casos podem existir.

Bacharel em Ciência da Computação/FURB
SCJP 6
Android Developer
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1615
Offline

Delphi suporta o conceito de propriedade. Na verdade é um par de get e set, mas que você utiliza como se fosse um atributo. Se você usa do lado direito de uma atribuição ele executa o get, se você utiliza do lado esquerdo ele executa o set. E você pode definir a propriedade como read-only ou write-only, definindo apenas o get ou apenas o set, respectivamente.

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
davidtiagoconceicao
Virtual Machine Man
[Avatar]

Membro desde: 17/10/2008 07:28:29
Mensagens: 567
Localização: Blumenau - SC
Offline

jairelton wrote:Em Java não existe nada semelhante.

E mexer com componentes de GUI manualmente é muito trabalhoso mesmo, recomendo o uso de alguma IDE pra isso, como o Netbeans.


Na minha opinião isto é relativo. Construir interfaces simples e estáticas é realmente mais rápido utilizando-se drag and drop (NetBeans por exemplo), porém, construir interfaces complexas e dinâmicas com este tipo de ferramenta é bastante complicado.

Além disso, existem pessoas totalmente desacostumadas com estas interfaces. Eu por exemplo acho consideravelmente mais fácil digitar um código invocando um método de determinado componente do que procurar em uma paleta a determinada "propriedade".

EDIT: Mas gosto é gosto e o importante é entregar o projeto atendendo aos requisitos

This message was edited 1 time. Last update was at 22/01/2009 16:15:28


Bacharel em Ciência da Computação/FURB
SCJP 6
Android Developer
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1615
Offline

Particularmente eu também prefiro fazer interface "na mão" mesmo. Claro, isso se o framework tiver algum tipo de LayoutManager, porque usar posicionamento absoluto componente por componente também não dá.

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

rmendes08 wrote:Realmente, Java não tem a construção with...do. E sinceramente, eu particularmente não gosto não. E até interessante quando se tem um bloco muito grande de setter ou getter de um mesmo objeto, mas se você tiver que colocar código no meio fica muito confuso, pois não dá pra saber se o método que você chama é do objeto referenciado ou da classe. Esse comando veio do Pascal, de uma época em que não se tinha IDE's poderosas em que você dispõe de autocomplete.

Isso sem falar na depuração... Utilizar os recursos de depuração do delphi em um código cercado por um with é um pouco mais complicado. Porém, eu acho que deixa o código bem mais legível e mais DRY.
yoshikichi wrote:Um conselho, esqueca Delphi...
Acessar uma propriedade diretamente é meio procedural.
em vez disso utilize metodos.
falow

Não concordo. Usar propriedades não é a mesma coisa que deixar seus atributos públicos, pois como lembrou o rmendes08, há chamadas de métodos envolvidas no uso de propriedades. Ou seja, quem usa propriedades em Delphi tem que usar métodos. Particularmente, acho a implementação de propriedades no Delphi bastante elegante.

Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

L.Bach
JavaChild
[Avatar]

Membro desde: 18/12/2008 10:34:48
Mensagens: 100
Localização: Florianópolis/SC
Offline

Rapaz, quem gosta de with do no Delphi, com toda certeza nunca precisou debugar ponteiros.
tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

L.Bach wrote:Rapaz, quem gosta de with do no Delphi, com toda certeza nunca precisou debugar ponteiros.

Pois é, foi o que eu falei no meu post... Coisa do cão.

Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

celso.martins
Virtual Machine Man
[Avatar]

Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline

rmendes08 wrote:Delphi suporta o conceito de propriedade. Na verdade é um par de get e set, mas que você utiliza como se fosse um atributo. Se você usa do lado direito de uma atribuição ele executa o get, se você utiliza do lado esquerdo ele executa o set. E você pode definir a propriedade como read-only ou write-only, definindo apenas o get ou apenas o set, respectivamente.


Perfeito e só complementando:

O que é atributo no Java é Field no Object Pascal. É boa prática inicializar os campos privados com 'F'.

E como você bem disse, as propriedades "encapsulam" os getters e setters. Confesso que não gosto desse conceito.

L.Bach wrote:Rapaz, quem gosta de with do no Delphi, com toda certeza nunca precisou debugar ponteiros.


Acho que além do problema de debug, você ainda tem o problema de não saber se o que você está chamando é do objeto do with, do form (quando é o caso), ou de qualquer outro treco. É cruel.

tnaires wrote:Porém, eu acho que deixa o código bem mais legível e mais DRY.

Nisso eu discordo. IMHO, um código com with fica menos legível.

E por fim:

[PRÉ-conceito]
yoshikichi wrote:Um conselho, esqueca Delphi...
Acessar uma propriedade diretamente é meio procedural.
em vez disso utilize metodos.
falow

[/PRÉ-conceito]

Hoje melhor que ontem e pior que amanhã.

Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog
[Email] [WWW]
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

apesar de ser um atalho tosco ^^ .... caso vc esteja implementando suas proprias coisas... vc pode, no lugar de métodos voids, utilizar métodos que retornam o proprio objeto, para que vc possa setar propriedades mais rapidamente... mas isso tem q ser uma implementação sua...

Por exemplo...



assim vc consegue ir invocando diretamente os varios métodos ^^

Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

Lavieri wrote:apesar de ser um atalho tosco ^^ .... caso vc esteja implementando suas proprias coisas... vc pode, no lugar de métodos voids, utilizar métodos que retornam o proprio objeto, para que vc possa setar propriedades mais rapidamente... mas isso tem q ser uma implementação sua...

O famoso Method Chaining
Tosco não é, pois desta forma é que é possível implementar o padrão Builder. Sem falar nas DSLs.
celso.martins wrote:Nisso eu discordo. IMHO, um código com with fica menos legível.

Bom, no final das contas, é a mesma coisa de discutir se utilizar o operador ternário do Java é má prática ou não.

This message was edited 1 time. Last update was at 22/01/2009 19:48:52


Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

sim, sei que é necessario pro padrao build, falei tosco, apenas em querer implementar para parecer com o delphi =x

e sobre a discução do ternario, não era sobre usar ou não o operador, era sobre usar ele encadeado ^^
mais como agente não manda no rumo que a discução toma ....

Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team