OVH Cloud OVH Cloud

Appel de méthodes

1 réponse
Avatar
Jerome
Je commence le Java et je me posais une question :

J'ai une classe A qui instancie deux autres classes B et C :

ClassB B=new ClassB B();
ClassC C=new ClassC C();

Chacune des classes B et C ont une méthode:
B.Methode1()
C.Methode2()

Maintenant, j'aimerais savoir si dans la méthode C.Methode2(), il est
possible de faire un appel à B.Methode1().

C'est surement tout bete, mais je coince !!

Merci de vos réponses.
Jerome.

1 réponse

Avatar
ZeGrunt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Salut.

J'ai une classe A qui instancie deux autres classes B et C :

ClassB B=new ClassB B();
ClassC C=new ClassC C();


Déjà, cette écriture est fausse. Ce serait plutôt:
ClassB unB=new ClassB();
ClassC unC=new ClassC();

Ensuite, il est mieux (obligatoire ?) de ne pas commencer les noms de
variables par une majuscule pour ne pas les confondre avec les noms de
classe.

Chacune des classes B et C ont une méthode:
B.Methode1()
C.Methode2()

Maintenant, j'aimerais savoir si dans la méthode C.Methode2(), il est
possible de faire un appel à B.Methode1().


A priori, non. Il faut refléchir en termes de "qui connait quoi et qui
fait quoi ?". En l'occurrence, seule ta classe A connait B *et* C. B ne
sait rien de C et C ne sait rien de B. De plus, quand tu appelles
C.Methode2(), les instructions de Merhode2 s'effectue "dans" C. Par
conséquent, tu ne connais pas B.

Le plus facile pour s'en souvenir, c'est que tu ne peux utiliser dans
une méthode que les objets connus dans la classe dans laquelle elle se
trouve et les paramètres qu'on lui passe.

C'est surement tout bete, mais je coince !!


Tu aurais certainement pu le tester en trois minutes mais, bon, on
n'est pas des chiens. ;)

A+

ZeGrunt.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCGYMcnLjyGhlEgFIRAnJgAKC8EWc9n4OhMenZJCND7khzBsptbQCfT9Gb
Ykmjo6Xw8SoIUdKlySd67sY =j1Ax
-----END PGP SIGNATURE-----