Explication sur le mot .this en java

Fermé
HORSLIMITES Messages postés 87 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 10 mai 2009 - 9 févr. 2009 à 14:46
HORSLIMITES Messages postés 87 Date d'inscription samedi 25 octobre 2008 Statut Membre Dernière intervention 10 mai 2009 - 12 févr. 2009 à 15:01
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 jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
9 févr. 2009 à 14:49
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 samedi 25 octobre 2008 Statut Membre Dernière intervention 10 mai 2009 10
9 févr. 2009 à 14:53
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 jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
9 févr. 2009 à 15:00
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 samedi 25 octobre 2008 Statut Membre Dernière intervention 10 mai 2009 10
9 févr. 2009 à 17:19
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 samedi 25 octobre 2008 Statut Membre Dernière intervention 10 mai 2009 10
10 févr. 2009 à 10:56
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 jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
10 févr. 2009 à 11:01
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 samedi 25 octobre 2008 Statut Membre Dernière intervention 10 mai 2009 10
10 févr. 2009 à 11:20
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 jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
10 févr. 2009 à 11:25
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 samedi 25 octobre 2008 Statut Membre Dernière intervention 10 mai 2009 10
12 févr. 2009 à 15:01
Bonjour ,
oui la 2eme est plus pratique , je te tien au courant de mon code
merci d'avance pour ton aide
0