Fala javaneses…!
Dúvida de iniciante(dummies) rs***
No vb eu posso ter um modulo e declarar uma variável Global que serviria para TODO o aplicativo…
Global x as String
OK?!
Como eu faria isso em Java?
Valeu!Thanks!
Fala javaneses…!
Dúvida de iniciante(dummies) rs***
No vb eu posso ter um modulo e declarar uma variável Global que serviria para TODO o aplicativo…
Global x as String
OK?!
Como eu faria isso em Java?
Valeu!Thanks!
olha, uma forma bem “pobre” seria:
public static class MinhaClasse {
public static String nome;
}
dai no codigo, tu faz assim:
MinhaClasse.nome = “maxguzenski” ;
t+
Opa…
Essa classe… ela tem que ser static?
flw!
Na verdade, a classe não pode ser estática… métodos e atributos podem ser estáticos, classes não.
tem razao, eu me confundi
ahh, mais uma coisa,
na visão da maioria dos designers de aplicações OO, e de grande parte dos programadores também,
variaveis globais são o pior crime capital depois do goto
eu até concordo com isto, uma variavel global dificulta bastante a depuração do programa, utilize sempre passagem de parametros, variaveis de instancia, …
yap.
Assino embaixo, urubatan.
Perguntei isso pelo seguinte…
Sabemos que não é legal deixar uma conexão ativa o tempo todo… o correto é abrir fazer o que tem que fazer e fechar a conexão…
a dúvida é u seguinte!
Acesso as tabelas assim…
Class.forName(cConexao).newInstance();
Connection cConn = DriverManager.getConnection(cDriverUrl);
Statement stmt = cConn.createStatement();
cSql = "SELECT * FROM TABELA";
ResultSet rsArparloc = stmt.executeQuery(cSql);
Para cada classe que for accessar uma tabela eu terei que declarar nela as variáveis…
cConexao,cDriverUrl,cSql…
Escrevendo este post eu tive uma luz(óóóóóóóó)… rs***
Tipo tem como fazer uma classe que eu passe como parametros(driver,e comando sql) as variáveis cDriverUrl,cSql… e ele restornar o valor em forma de ResultSet …
Ah! E tb vai ter que ter um controle para no caso de ter ki fazer dois selects tando tando um aberto no momento da execução do outro…
ficou meio difícil de explicar mas espero que entendam… flw!
Valeu! Thanks!
bem basico, mas seguinte, é uma ideia
faz um singleton, que gerencia a conexão com o banco de dados :-)[/code]
No case eu não estou utilizando JOBDC… tem problema?
pode-se fazer declarando a variavel como publica e estática.
Mas é bom evitar este tipo de declaracao, e utilizar o encapsulamento.
agluém pode me explicar essa do “goto” ser um crime?
Se Edward Djikstra ainda estivesse vivo, talvez ele pudesse explicar melhor do que ninguém o porque Goto é perigoso. Ele escreveu em 1966 (alguém aí é desta época?) um artigo chamado “GoTo Considered Harmful” em que ele dissertava sobre os males que o uso de goto trazia. Mas, bem superficialmente falando, os problemas são 2:
:arrow: você cria códigos ilegíveis; imagine o seguinte o seguinte trecho de código criado em “DaniOL” (linguagem que acabei de inventar, meio baseada no pouco que lembro de Basic para Apple):
:mylabel1
input A
if(A < 10) then goto mylabel1 else goto mylabel2
// mais um pouco de código aqui e em algum lugar, mais acima ou mais abaixo...
.
.
:mylabel2
B = A + 10
if(B < 25) then goto mylabel1 else print "B é maior do que 25... B é igual a", B
// e o programa continua
Ok, ok… admito que o código acima é até legível. Mas experimenta incrementar este código aí. Ou melhor, tente dar manutenção no código de alguém que tenha usado esta maravilhosa técnica :twisted: .
:arrow: o segundo motivo é decorrente do primeiro. O uso de goto força a criação de variáveis com um ciclo de vida muito longo (a.k.a. variáveis globais). Tudo bem, pode-se argumentar que hoje em dia, com memória barata e farta, um integer de 32bits ter um ciclo de vida longo não é um pecado capital. Mas há um tempinho atrás, 4 bytes fariam uma falta tremenda (se for pensar bem, atualmente até faz falta para aqueles que brincam com J2ME), sem falar que nunca vai ser só uma variável global, mas várias (daí, dependendo da aplicação, pode até chegar a faltar memória).
Vale lembrar uma coisa que o meu professor de introdução a ciências da computação sempre dizia para seus alunos: computação é também uma forma de administrar razoavelmente recursos bem excassos e/ou finitos, como memória.
Espero que tenha dado uma idéia do porquê goto é “feio”. Qualquer coisa, procura por este artigo do Djikstra. Ele, certamente, é uma fonte muito mais confiável do que eu.
E é só .
[size=“9”]p.s.: DaniOL é uma linguagem com tipagem fraca (para não dizer sem tipagem alguma), não necessariamente estruturada (e bem longe de ser OO) e criada para fins unicamente “algorítmicos”. Pode ser implementada por aqueles que não tem muito o que fazer e querem aprender a brincar com compiladores e teoria de linguagens formais. Para tanto, entre em contato comigo .[/size]
Mas isso é apenas para constar, afinal não vale a pena usar essa instrução unicamente baseado em dois casos extremos, certo…
Pois é, Ted, e também não é lá muito elegante se fazer um aninhamento tão grande de fors desse jeito. Se o código está assim, provavelmente ele poderia se tornar mais elegante após mover os dois fors internos para métodos (ou funcoes) com checagens explicitas de condicionais, ao inves de usar um goto meio nebuloso.
Que voces acham disso?
Caro cv, com certeza concordo com vc, mas só quiz expor esta situação, onde o cara que derrubou o uso do goto, concluiu que havia momentos onde realmente ele se torna a melhor solução… Na atualidade acredito que todas as linguagens ( pelo menos as mais atuais ) resolveram este problema… Mas imagina na época onde existiam linguagens que possuiam apenas uma área de ativação, e qualquer variável declarada tinha escopo no programa inteiro… Meu, devia ser o inferno, heheheh
Olá
O Daniel perguntou se havia alguém aqui de 1966 (na verdade o artigo é de 1968, ver: http://www.acm.org/classics/oct95/).
Em 66 eu ainda estava no curso básico de engenharia. Mas em 68 escrevi meu primeiro programa como parte de um curso de programação analógica. Se não estou esquecido, servia para resolver uma equação diferencial resolvendo o crescimento de uma colônia de bactérias. Usei um computador analógico onde se programava ligando integradores e outros componentes em uma espécie de porta. Os resultados saiam em um osciloscópio eletrônico em forma de senoide.
Comecei com computação digital aprendendo Fortran ainda em 68. Em 69 muita gente usava Cobol. Na faculdade de engenharia da UFRJ usávamos Fortran em um fantástico IBM 1130 com 32Kbytes de memória. Era coisa muito boa mesmo, imagine que a ponte Rio Niteroi foi calculada em 1969 usando um igual só que com 8Kbytes (4Kbytes para o sistema operacional). Tinhamos um disco com 2K bytes. Abaixo um IBM1130:
Ou o mesmo IBM1130 a cores:
Leitora de cartões perfurados:
Impressora:
Em 1970 surgiu o Basic com sua codificação macarrônica. E também uma mistura de Fortran com Cobol chamado PL/1. Estas linguagens NÃO eram estruturadas. A codificação podia ficar horrível. Então muitos estudavam técnicas e métodos para facilitar a leitura dos códigos. Gente como Dijkstra e principalmente o inventor do Pascal, o suiço Niklaus Wirth.
Rotinas curtas, programação em módulos, uso restrito de GOTO, estas eram algumas leis do bom programador. Mas como você mesmo apontou as vezes era impossível deixar de usar o GOTO
Vou ficando por aqui, outro dia conto mais. Naquele tempo a gente resolvia sistemas de equações bem grandes usando um mínimo de recursos. Cálculo numérico e análise numérica eram conhecimentos básicos.
[]s
Luca
Po, o Luca estragou completamente a brincadeira… eu ate ia postar algumas fotos do meu primeiro micro (um notebook 8086 com 640kb de ram e hd de 20mb (vinte megas!? isso nao vai acabar nunca! da pra colocar tudo nisso aí! :)), mas depois de um IBM 1130, fica ateh chato… hehehe