作者在 2009-09-04 13:21:31 发布以下内容
class Father {
public boolean isGood(String name) {
boolean result = check(name);
return result;
}
public boolean check(String name) {
....
....
....
}
}
class Son extends Father {
public boolean check(String name) {
return true;
}
}
这段代码,Son继承了Father,只是覆盖了Father的check方法。Father中的check方法可以是非常复杂的,但是Son里面的check方法只是简单地返回一个true。
class Test extends TestCase {
public void test() {
Son son = new Son();
boolean result = son.isGood("Good");
}
}
也许有时候我们并不需要关注check的过程,只需要check的一个返回值,那我们就可以写一个子类,覆盖掉你需要用到的方法。这个时候,son.isGood()还是调用的Father里面的isGood()方法,不过在check方法里面,调用的是在Son里面被覆盖掉的check()方法而不是在Father里面的check方法。有时候在测试中这样写会省下一些功夫。