Acessar valor dos setters e getters em outra classe

Olá a todos,

     Sabem os métodos getters e setters? Pois é, eu criei uma classe chamada InfData, que possui alguns métodos getters e setters. Instanciei a classe InfData na classe DBAdapter que manipula o banco. Setei alguns valores para as variáveis da InfData. Certo?

Bem, agora quero pegar estes valores numa outra classe, a Screen1Login, usando os getters. Eu apenas declarei a InfData, assim:

Na classe Screen1Login.java:

InfData infData;
(depois usei os infData.get…)

Na classe DBAdapter:

InfData inf = new InfData();

O que acontece é que não consigo pegar os valores setados na lá na classe DBAdapter. Afinal, como eu faço para acessar o mesmo objeto na memória e o valor de suas variáveis em qualquer classe do pacote?

Vejam minha classe InfData.java:

package
medicapp.application.tcc; 
public
class InfData { 
private String password; 
private String user; 
public InfData() { 
}
public String getUser() { 
return user; 
}
public void setUser(String user) { 
this.user = user; 
}
public String getPassword() { 
return password; 
}
public void setPassword(String password) { 
this.password = password; 
}
}

Se puderem me ajudar, agradecido.

Um abraço.


[ ]'sLeandro Ferreira Paz

Reply Forward

Se não me engando, acho que suas variáveis de InfData deveria ser static para fazer o que você esta querendo

use um singleton para isso

Mostra a parte da classe Screen1login e DBAdapter onde tenta acessar as variáveis e onde não consegue como comentário que vai ficar melhor de entender.

Na classe Screen1Login.java:

InfData infData = InfData.getInstance(); 

Na classe DBAdapter:

InfData inf = InfData.getInstance(); 
package  
medicapp.application.tcc;   
public  
class InfData {   
private String password;   
private String user;   
private InfData() {   
}  

private static InfData instance = new InfData();

public static InfData getInstance(){   
return instance;
}

public String getUser() {   
return user;   
}  
public void setUser(String user) {   
this.user = user;   
}  
public String getPassword() {   
return password;   
}  
public void setPassword(String password) {   
this.password = password;   
}  
}

assim você terá sempre somente uma instancia da classe, e poderá setar valores em uma classe, e resgatar em outra, como parece ser o seu caso…

independente da forma(por static ou usando uma instancia) que vc deseja acessar uma varaivel de uma classe a partir de outra. O segredo é o modificador de acesso, então o que você nao pode esquecer quando tiver programando:
public: todos tem acesso
protected: somente as classes que estao naquele package
private: como o nome já diz, ng tem acesso, exceto a propria classe.

Usar static ou não a questão é o acesso em si. E sim aos valores que sua variavel vai ter ao ser chamado qdo ela é static e quando ela n é static e dai vc precisa de uma variavel de instancia.

flw.

Se entendi o seu problema, vc deve ter o login e a senha vc passa pra sua classe de manipulacao de banco para que elea verifique se o usuario é valido; parqa isso:

Crie um objeto login e atribua o login e senha a ele

Feito isso passe este o bjeto para a classe de manipulacao de banco utilizando o metodo validarLogin(Login login); que retorna um usuario, que possui o atributo valid.

Na class de controle de login use a funcão isValid de Usuario para autorizar ou não o login.

Espero ter ajudado, Ca-Gol