Uma Pergunta sobre lógica java[RESOLVIDO]

5 respostas
psicoppardo

Eu estou apredendo MVC. Mas minha pergunta diz respeito ao Swing. Estou trabalhando com JinternalFrame, para desabilitar um botão tornei a variável bCliente static, assim poderia acessa-la da JinternalFrame habilitando-a através do método setenable(true). Minha pergunta é:

  1. isso é uma gambiarra, fere a segurança do soft??

  2. Tornado essa variável Public static, vai me trazer problemas futuramente???

  3. Eu estou trabalhando com JinternalFrame, porque acho ele mais leve que o JDialog, isso é impressão minha ou realmente o JinternalFrame é mais leve que JDialog???

obrigado pelas respostas.

5 Respostas

InicianteJavaHenriqu

Sim. O ideal seria utilizar get e set.

Provavelmente não, porque você está fazendo este programa só para aprendizado, não é?

:thumbup:

psicoppardo

InicianteJavaHenrique, justo, concordo com você, mas vejo que tudo se torna um abito, então mesmo sendo um software de aprendizado, acho que se continuando usar public vou acabar me dando mal.

Mas valeu pelas respostas. Agora veja: gostaria de saber se o erro é variável ser plublic ou ela ser static??

drsmachado

psicoppardo:
InicianteJavaHenrique, justo, concordo com você, mas vejo que tudo se torna um abito, então mesmo sendo um software de aprendizado, acho que se continuando usar public vou acabar me dando mal.

Mas valeu pelas respostas. Agora veja: gostaria de saber se o erro é variável ser plublic ou ela ser static??


1 - Sim. Você deve usar getters e setters para acessar e manipular atributos privados de outra classe.
2- Pode ser que sim, se alguém for ampliar este teu projeto, poderá definir/obter o valor da mesma de qualquer outra classe, diretamente.
3 - Não conheço nenhuma informação a respeito, mas, creio que o JInternalFrame seja realmente mais “leve”.

Variáveis public sempre serão acessíveis universalmente. Ou seja, se eu fizer uma aplicação, usando a tua como base, poderei fazer o que quiser com as public.
Variáveis static pertencem a classe e são acessadas pelos objetos de forma compartilhada.

InicianteJavaHenriqu

Muito bom sua visão, é ótimo aprender a pensar O.O desde o começo.

Nenhum dos dois modificadores pode ser considerado um erro. O fato é que variáveis public static devem ser evitadas, pois elas existem enquanto a classe existir, é diferente de uma variável private que existe somente enquanto o objeto existir.

Na orientação a objetos, é prática quase que obrigatória proteger seus atributos com private. Cada classe é responsável por controlar seus atributos, portanto ela deve julgar se aquele novo valor é válido ou não.

:idea: Sugestão: pela sua descrição no primeiro post, eu acredito que o problema não seja de P.O.O e sim de Swing, pense em outra forma para manipular o evento de seu JButton e deixe a ideia de desabilitá-lo pra lá.

:thumbup:

drsmachado

Isso é parte do princípio de encapsulamento, você protege os atributos de uma classe, usando métodos que forneçam/recebam o valor do atributo, melhorando e aumentando a coesão e diminuindo o acoplamento.

Criado 22 de julho de 2012
Ultima resposta 23 de jul. de 2012
Respostas 5
Participantes 3