Merci pour tout g reussi pour ceux que ca interesse (on s'est jamais) voici le code qui compile pour le clonage...
package rmi.td1;
//interface qui precise les méthodes a implanter pour les classes héritières bien étendre cloneable pour ces filles
public interface Figure extends Cloneable {
public double perimetre ();
public double aire ();
---
package rmi.td1;
//classe abstraite qui implemente figure
public abstract class Polygone implements Figure {
int nbCote;
public Polygone () {
this.nbCote = 0;
}
public Polygone (int nbCote) {
this.nbCote = nbCote;
}
public int getNbCote() {
return nbCote;
} }
--
package rmi.td1;
//classe Triangle a pour constructeur une méthode a trois paramètres
public class Triangle extends Polygone implements Cloneable {
protected double a, b, c;
public Triangle (double a, double b, double c) {
super (3);
this.a = a;
this.b = b;
this.c = c;
}
public double perimetre() {
// TODO Auto-generated method stub
return a + b + c;
}
public double aire() {
// TODO Auto-generated method stub
double h = hauteurIssueDeA();
return 0.5 * a * h;
}
protected double hauteurIssueDeA() {
double c2 = c*c;
double a2 = a*a;
double b2 = b*b;
double h2 = c2 - ((a2 + c2 - b2) / (2*a))
* ((a2 + c2 - b2) / (2*a));
double h = Math.sqrt(h2);
return h;
}
//méthode clone redéfini
public Object clone()
throws CloneNotSupportedException {
Triangle Tcopy = (Triangle)super.clone();
return Tcopy;
}}
--
package rmi.td1;
//méthode main qui instantie tous ca et surtout la méthode clone
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Figure t = new Triangle (1,4,3);
Figure t1 = null;
try {
t1 = (Figure)((Triangle)t).clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
Figure te = new TriangleEquilateral(4);
System.out.println("Aire = " + t.aire());
System.out.println("Aire = " + te.aire());
System.out.println();
System.out.println("Perimetre = " + t.perimetre());
System.out.println("Perimetre = " + t1.perimetre());
System.out.println("Perimetre = " + te.perimetre());
System.out.println();
System.out.println(t.getClass());
}}

mat.