2013-02-11 3 views
2

Salut ce qui est équivalent JAVA à cette paix de code écrit en C# classe 1:textfields setter getter GUI JAVA

public string Password 
    { 
     get { return password; } 
     set { password = value; } 
    } 

classe 2:

 try 
     { 

      UserEntity user = new UserEntity(); 

      user.Password = textBoxPassword.Text; 
      user.InsertUser(); 
      MessageBox.Show("User is registred"); 

     } 

en java j'ai écrit ceci: classe 1:

protected int password ; 


    public int getPassword(){ 
     return password; 

    } 

    public void setPassword(int password){ 
     this.password=password; 
    } 

class2:

LoginEntity login = new LoginEntity(); 
     login.getPassword() = pwdTextBox.getText();// here ERROR : required variable , found value 
+1

Vous comparez 'string Password' avec' int password' ... Vous pouvez remplacer 'login.getPassword() = ...' par 'login.password = ...' pour accéder directement au champ. Il vaudrait mieux placer "password" dans un champ "public" dans ce cas. – harpun

Répondre

5

En C# ni en Java, vous pouvez avoir un appel de méthode sur le côté gauche d'une affectation. Donc ceci:

login.getPassword() = pwdTextBox.getText(); 

est pas valable dans Java ou C#

Peut-être que vous voulez

login.setPassword(pwdTextBox.getText()); 

Bien que vous devriez vraiment éviter d'utiliser des chaînes pour les mots de passe, car ils peuvent être facilement reniflé rendre votre mot de passe protection pauvre.

+0

ok vous avez raison, mais le code C# fonctionne à 100%, je ne sais pas comment faire la même chose en Java ... une idée? – Krasimir

+1

'object.function() = value' ne pourrait jamais fonctionner, ni en C#, ni en java. Le côté gauche est la fonction et le côté droit est l'objet. Vous ne pouvez pas définir la valeur de l'appel. –

+0

@ user2026573 - Si vous dites que cela fonctionne, alors vous vous trompez. ** C# ne peut pas faire cela. ** Êtes-vous sûr que le code que vous regardez est en fait la version de travail? – Bobson