1import j a v a x . s win g . J B u t t o n ;
import j a v a x . swing . JFram e ;
import j a v a . aw t . e v e n t . A c t i o n E v e n t ;
import j a v a . awt . e v e n t . A c t i o n L i s t e n e r ;
6class ExitButton extends JButton implements
ActionListener {
public E x i t B u t t o n ( ) {
super ( ) ;
setText ("Emergency Exit" ) ;
addActionListener ( t h i s ) ;
11 }
p u b l i c v oi d a c t io n D o n e ( A c t i o n E v e n t e ) {
System . e x i t ( 0 ) ;
}
16 }
p u b l i c c l a s s ExitApp {
s t a t i c p u b l i c v o id main ( S t r i n g [ ] a r g s ) {
J B u t t o n e x i t = new E x i t B u t t o n ( ) ;
21 JFrame fra m e = new JFrame ( ) ;
fr a m e . add ( e x i t ) ;
fr ame . s e t S i z e ( 2 0 0 , 1 0 0 ) ;
fr a m e . s e t V i s i b l e ( t r u e ) ;
}
26 }
Listing 1 – La classe ExitApp
3.2 Conception de classe (5 points)
Nous souhaitons cr´
eer une classe repr´
esentant des nombres complexes. Ces derniers ont deux parties :
une partie r´
eelle et une partie imaginaire et sont not´
es sous la forme c=a+ib o`
uaest la partie r´
eelle
et bla partie imaginaire. Vous pourrez, au choix, compl´
eter le listing 2 page suivante ou l’´
ecrire le
programme r´
esultant sur votre copie.
Questions
1. Quels sont les attributs n´
ecessaires au fonctionnement de votre classe ? Avec quels types les
d´
eclarerez vous ? Compl´
eter la partie A avec les instructions pour d´
eclarer vos attributs.
2. Nous souhaitons disposer de deux constructeurs diff´
erents afin de pouvoir initialiser nos objets
repr´
esentant des nombres complexes. Le premier, sans param`
etre, affecte une valeur nulle aux
parties r´
eelle et imaginaire. Le second prend deux param`
etres permettant de donner des valeurs
aux parties r´
eelle et imaginaire. ´
Ecrire ces deux constructeurs (partie B du listing).
3. ´
Ecrire une m´
ethode appel´
ee display permettant d’afficher le nombre complexe sous la forme
a+ib (partie C du listing).
4. ´
Ecrire deux m´
ethodes de calcul sur les nombres complexes. La premi`
ere m´
ethode, nomm´
e
add prendra en param`
etre un nombre complexe, l’additionnera `
a l’objet poss´
edant la m´
ethode
et retournera en r´
esultat un nombre complexe. La deuxi`
eme m´
ethode, nomm´
emult prendra en
param`
etre un nombre complexe, le multipliera `
a l’objet poss´
edant la m´
ethode et retournera en
r´
esultat un nombre complexe.
3