// Un cliente escrito para Rectangle, usado con un Rectangle y con un Square.
public class LiskovDemo {

    /** Lo que cualquier cliente de Rectangle tiene derecho a esperar. */
    static void resize(Rectangle r) {
        r.setWidth(5);
        r.setHeight(4);
        IO.println(r.getClass().getSimpleName() + ": área " + r.area() + " (se esperaba 20)");
    }

    public static void main(String[] args) {
        resize(new Rectangle(2, 3));
        resize(new Square(2));
    }
}
