敏捷开发的LSP原则的困惑
本帖最后由 zombiebb 于 2011-01-17 12:27:34 编辑 看了《敏捷软件开发:原则、模式与实践》的LSP原则那章,感觉很困惑,没有多少分可以给,希望能有高人解答。
困惑源于10.3.1的测试例子:
void g(Rectangle& r){
r.SetWidth(5);
r.SetHeight(4);
assert(r.Area() == 20);
}
Class Father{
String say(){
return "I'am father.";
}
}
Class Son extends Father{
String say(){
return "I'am son.";
}
}
void g(Father f){
assert(f.say().equals("I'am father."));
}