Explication sur le mot .this en java

HORSLIMITES Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -  
HORSLIMITES Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voila je suis débutant sur java et j'arrive pas a comprendre trés bien quand je peut utilisé la référance this
et est ce que son utilisation est facultatif
merci d'avance de m'avoir aider
A voir également:

7 réponses

NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
This je suppose que vous l'avez compris, fait référence à la classe dans laquelle on se trouve.

Quand l'utiliser :
Quand il y a ambiguïté sur un nom de variable. Par exemple

int i;

Public New(int i){
this.i = i; // veut dire que la variable i de la classe en cours prend la valeur de i envoyé en argument
}

Le this n'est pas obligatoire à moins qu'une ambiguïté sur le nom puisse avoir lieu
2
HORSLIMITES Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   10
 
salut et merci de m'avoir repondu
si j'ai bien compris , je l'utilise quand t'il y'a des variables local (dans un constructeur)
mais je le vois aussi dans des méthodes
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
Tu l'utilises s'il peut y avoir ambiguïté sur un nom. C'est à dire si une variable locale à une méthode (que ce soit le constructeurs, une fonction ou une méthode) a le même nom qu'une variable de classe :)
0
HORSLIMITES Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   10
 
ahh oui ,ok
enfait la je travail sur un exercices de compte bancaire,et je veut bloquer un compte ,c'est la methode avec set que j'utilise.
EXP:
public void setSolde(double solde) {
this.solde = solde;

}
c'est correcte??
0
HORSLIMITES Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   10
 
salut
je sais que get .. c'est pour la lecture et set .. pour l'ecriture,donc pour par exemple bloquer un compte c'est le set qui intervien
merci d'avance
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
Oui en effet. Vous aurez par exemple un attribut booléen estBloque dans votre classe compte et une propriété setEstBloque.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HORSLIMITES Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   10
 
salut
voila mon code :

public class Compte_bancaire {

// le compte est caractérisé par ces attributs

private int numero ;
private double solde ;
boolean statut ;

//**************************************************************
// CONSTRUCTEUR
//****************************************************************

public Compte_bancaire(int numero, double solde, boolean statut){
this.numero = numero ;
this.solde = solde ;
this.statut = statut ;


}


//*************************************************************************
// CREATION DES ACCESSEURS
//*************************************************************************

public int getNumero() {
return numero;
}

public double getSolde() {
return solde;
}

public boolean isStatut() {
return statut;
}



//********************************************************************
// CREATION DES MUTTATEURS
//********************************************************************

public void setNumero(int numero) {
this.numero = numero;
}

public void setSolde(double solde) {
this.solde = solde;

}

public void setStatut(boolean statut) {
this.statut = statut;
}

}

boolean par defaut c 'est false (fermer) mais le bloquer je sais pas comment faire
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
public void setStatut(boolean statut) {
this.statut = statut;
}

Dans votre cas, puisqu'il y a différents statuts, il vaut mieux faire ainsi :

private int numero ;
private double solde ;
String statut ;
[...]
public void setStatut(String statut) {
this.statut = statut;
}

Sinon il aurait fallu faire

private int numero ;
private double solde ;
boolean estFerme ;
boolean est Bloque;
[...]
public void setEstBloque(boolean statut) {
this.estBloque = statut;
}
public void setEstFerme(boolean statut) {
this.estFerme = statut;
}
0
HORSLIMITES Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   10
 
Bonjour ,
oui la 2eme est plus pratique , je te tien au courant de mon code
merci d'avance pour ton aide
0