// El caso Point/ColorPoint de la semana 5, resuelto con composición.
public class ColorPointDemo {
    public static void main(String[] args) {
        Point p = new Point(1, 2);
        ColorPoint red = new ColorPoint(1, 2, "rojo");
        ColorPoint blue = new ColorPoint(1, 2, "azul");

        IO.println("p.equals(red)   = " + p.equals(red));
        IO.println("red.equals(p)   = " + red.equals(p));
        IO.println("p.equals(red.asPoint()) = " + p.equals(red.asPoint()));
        IO.println("red.equals(blue) = " + red.equals(blue));
    }
}
