Solution du TP7
package tp6;
public interface Operation {
public Object plus(Object o);
public Object moins(Object o);
}
********************************
package tp6;
public abstract class Affichage {
public abstract String affiche();
}
******************************************
package tp6;
public class Reel extends Affichage implements
Operation {
private double x;
public Reel(double x) {
this.x=x;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public Object plus(Object o) {
// 1ère méthode
//double y=this.x+((Reel)o).x;
//return new Reel(y);
/*2ème méthode: barré veut dire obsolète et ce
dès jdk 9*/
Double d=new Double(((Reel)o).x);
double y=this.x+[Link]();
return new Reel(y);
}
public Object moins(Object o) {
// TODO Auto-generated method stub
return null;
}
public String affiche() {
// TODO Auto-generated method stub
return null;
}
}
******************************
package tp6;
public class Complexe extends Affichage implements
Operation {
private double re;
private double im;
public Complexe(double re,double im) {
[Link]=re;
[Link]=im;
}
public double getRe() {
return re;
}
public void setRe(double re) {
[Link] = re;
}
public double getIm() {
return im;
}
public void setIm(double im) {
[Link] = im;
}
@Override
public Object plus(Object o) {
// TODO Auto-generated method stub
double reel=[Link]+new
Double(((Complexe)o).re).doubleValue();
double imaginaire=[Link]+((Complexe)o).im;
return new Complexe(reel,imaginaire);
}
@Override
public Object moins(Object o) {
// TODO Auto-generated method stub
double reel=[Link]-((Complexe)o).re;
double imaginaire=[Link]-((Complexe)o).im;
return new Complexe(reel,imaginaire);
}
@Override
public String affiche() {
// TODO Auto-generated method stub
return null;
}
************************
package tp6;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Complexe c1=new Complexe(3,5);
Complexe c2=new Complexe(3,5);
Reel R1=new Reel(3);
Reel R2=new Reel(4);
Object o=[Link](c2);
Complexe C=(Complexe)o;
[Link]("La partie réelle:
"+[Link]());
[Link]("La partie imaginaire:
"+[Link]());
Object o2=[Link](R2);
Reel R=(Reel)o2;
[Link]("La somme des réels:
"+[Link]());
}
}