Abril 08
                               Prof(s). Ismael H. F. Santos & Eduardo Bezerra                                        2
LSP – exemplo clássico (cont.)
nConsidere agora o trecho de código (cliente) a seguir:
nvoid m(Rectangle r) {
n r.setHeight(5);
n r.setWidth(4);
n assert (r.area() == 20);
n}
nQuando temos apenas objetos retângulo, o código acima é válido; no entanto, este código não é válido quando, além de retângulos, temos também quadrados.
nNão há nada de errado com m
nO que está errado em Square?