Exercice java POO - programme égalité d’objets

           {sidebar id=6}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class Exo12_4{
public static void main ( String [ ] arg v ) {
Compteur c1 , c2 , c3 ;
c1 = new Compteur ( 0 ) ;
c1 . incremente ( ) ;
c2 = new Compteur ( 1 ) ;
c3 = c1 ;
if ( c1 == c3 ) {
Terminal . ecrireStringln ( " c1 et c3 sont égaux " ) ;
} else {
Terminal . ecrireStringln ( " c1 et c3 ne sont pas égaux " ) ;
}
if ( c1 . getValeur ( ) == c2 . getValeur ( ) ) {
Terminal . ecrireStringln ( " c1 et c2 ont même valeur " ) ;
} else {
Terminal . ecrireStringln ( " c1 et c2 n’ont pas la même valeur " ) ;
}
if ( c1 == c2 ) {
Terminal . ecrireStringln ( " c1 et c2 sont égaux " ) ;
} else {
Terminal . ecrireStringln ( " c1 et c2 ne sont pas égaux " ) ;
}
if ( c1 . getValeur ( ) == c1 . incremente ( ) . getValeur ( ) ) {
Terminal . ecrireStringln ( " c1 et c1 incremente ont même valeur " ) ;
} e l s e {
Terminal . ecrieStringln ( " c1 et c1 incremente n’ont pas la même valeur " ) ;
}
if ( c1 == c1 . incremente ( ) ) {
Terminal . ecrireStringln ( " c1 et c1 incremente sont égaux " ) ;
} e l s e {
Terminal . ecrireStringln ( " c1 et c1 incremente ne sont pas égaux " ) ;
}
}
}
class Compteur {
int x ;
Compteur ( int n ) {
x=n ;
}
Compteur incremente ( ) {
x ++;
return this ;
}
int getValeur ( ) {
return x ;
}
}
{sidebar id=1}

Essayez de prédire le résultat de l’exécution de ce programme. Testez le programme. Que peut-on en déduire sur la notion d’égalité d’objets en java ?


Notez que l’expression c1.incremente().getValeur() comprend deux appels de méthodes successifs. D’abord la méthode incremente est appelée sur c1. Cette méthode renvoie un objet de type Compte qui est celui sur lequel la méthode est appelée (this). Sur cet objet, la méthode getValeur est appelée. Cela revient à appeler successivement les deux méthodes sur le même objet.

Article publié le 20 Mars 2010 Mise à jour le Lundi, 31 Août 2020 21:53 par GC Team