Université de Nice-Sophia Antipolis POLYTECH
PeiP2 2019–2020
Examen de Programmation Objet
Durée : 0h30 Aucun document autorisé
Mobiles interdits Nom : Prénom :
I1. EnJava, qu’est-ce qu’une classe ? Quel est son rôle ?
Voir cours
. . . .
I2. Expliquez de façon claire et synthétique la notion constructeur telle qu’elle existe dans le langageJava.
Voir cours
. . . . On veut représenter les nombres complexes à partir de leurs coordonnées cartsiennes.
I3. Écrivez la classeComplexeavec :
— 2 variables réelles privées appeléespRéelleetpImg;
— 2 constructeurs publics. Le premier sans paramètre, et le second avec deux paramètres ;
— la méthode publiquesetPréellequi permet de modifier la partie réelle duComplexecourant ;
— la méthode publiquetoStringqui renvoie la représentation duComplexe courant sous forme d’uneStringau format"(pRéele,␣pImg)";
— la méthodeplusqui renvoie unComplexe, somme duComplexecourant et duComplexepassé en paramètre. Cette méthode possède l’en-tête sui- vant :publicComplexe plus(Complexe c).
p u b l i c c l a s s Complexe {
p r i v a t e double pRéelle ; //la partie réelle du complexe p r i v a t e double pImg ; //la partie imaginaire du complexe /* *
* Initialise le <code > Complexe </ code > à (0 ,0) p u b l i c*/ Complexe () {
t h i s. pRéelle = t h i s. pImg = 0;
1
} /* *
* Initialise le <code > Complexe </ code > à (r ,i)
*
* @param r a <code > double </ code >.
* @param i a <code > double </ code >.
Complexe (double*/ r , double i) { t h i s. pRéelle = r; t h i s. pImg = i;
} /* *
* affecte à la partie réelle de l ’ objet <code > Complexe </ code > courant
* la valeur <code >r <\ code >
*
* @param r un <code > double </ code >.
*/
p u b l i c v oi d setPréelle (double r) { t h i s. pRéelle = r;
} /* *
* Rôle : renvoie this + c
*
* @param c un <code > Complexe </ code >.
* @return <code > Complexe </ code >.
*/
p u b l i c Complexe plus ( Complexe c) {
r e t u r n new Complexe (t h i s. pRéelle +c. pRéelle , t h i s. pImg +c. pImg );
} /* *
* renvoie un <code > String </ code > représentation
* de l ’ objet courant <code > Complexe </ code >
*
* @return une <code > String </ code >
*/
p u b l i c String toString () {
r e t u r n "(" + t h i s. pRéelle + "␣ ,␣" + t h i s. pImg + ")";
}
} //fin classe Complexe
. . . .
I 4. Écrivez la méthodemainqui crée deux objetsComplexe(avec les valeurs de votre choix) désignée par les deux variablesc1etc2, et qui affiche leur somme sur la sortie standard
p u b l i c s t a t i c vo id main ( String [] args ) { Complexe c1 = new Complexe (3.2 , 5.9);
Complexe c2 = new Complexe ( -2.9 , 15.7);
System . out . println ( c1 . plus ( c2 ));
}
. . . .
2