Utiliser un acceseur
Résolu
matrix124
Messages postés
136
Statut
Membre
-
matrix124 Messages postés 136 Statut Membre -
matrix124 Messages postés 136 Statut Membre -
Bonjour j'aimerais pouvoir récupérer ma variable time pour pouvoir l'utiliser dans une autre classe mais je ne sais pas comment faire. Voilà mon code android en question:
Merci pour votre aide
public class MainActivity extends Activity {
public int time = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mView = new MainSurfaceView(this);
setContentView(mView);
Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
time = time++;
}
});
}
}, 0, 1000);
}
}
Merci pour votre aide
A voir également:
- Utiliser un acceseur
- Comment utiliser chromecast sur tv - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser tablette comme deuxieme ecran - Guide
- Comment utiliser teamviewer - Guide
- Comment utiliser wetransfer - Guide
1 réponse
time est un attribut public, donc il te suffit d'avoir un objet MainActivity pour accéder à cette valeur time.
Remarque : en général ce genre de code est à éviter, parce que rien ne nous empêche du coup de faire n'importe quoi avec "time", exemple :
Exemple :
MainActivity ma = ... int t = ma.time;
Remarque : en général ce genre de code est à éviter, parce que rien ne nous empêche du coup de faire n'importe quoi avec "time", exemple :
ma.time = -42;Ton code ne fonctionnera probablement plus correctement après une telle modification ! C'est pour ça qu'il vaut mieux encapsuler les données, c'est à dire déclarer "time" private et donner un accesseur (et éventuellement un mutateur) pour pouvoir y accéder sans risque de mal le modifier.
Exemple :
// dans MainActivity
private int time = 0;
public int getTime()
{
return time;
}
public void setTime(int t)
{
if (t>=0)
time = t;
}
// ailleurs
MainActivity ma = ...
int t = ma.getTime();
ma.setTime(-42); // sans effet car interdit
Sujet résolu :)