public class main {

    public static void main(String[] args) {
        PointCouleur pc = new PointCouleur(1, 2, "vert");
        Point p = new PointCouleur(1, 3, "rouge");
        System.out.println(pc.norme());
        System.out.println(pc.get_couleur());
        System.out.println(pc.distance(p)); // pc hérite des méthodes de Point
        System.out.println(p.distance(pc)); // Tout PointCouleur est un Point

        System.out.println(p);

        PointCouleur p2 = (PointCouleur) p;
        System.out.println(p2.get_couleur());

        p = new Point(1, 3);
        p = new PointCouleur(p, "bleu");
        // p = new PointClignotant(1, 3, "bleu");
        System.out.println("instance de Object = " + (p instanceof Object));
        System.out.println("instance de Point = " + (p instanceof Point));
        System.out.println("instance de PointCouleur = " + (p instanceof PointCouleur));
        System.out.println("instance de PointClignotant = " + (p instanceof PointClignotant));
        if (p instanceof PointCouleur) {
            p2 = (PointCouleur) p;
            System.out.println(p2.get_couleur());
        } else {
            System.out.println("pas de couleur");
        }

        Object o = new PointCouleur(p, "bleu");
        System.out.println(o);
    }
}
