覆盖在测试中的一个用法

作者在 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方法。有时候在测试中这样写会省下一些功夫。
Java | 阅读 1549 次
文章评论,共1条
lengchuan
2009-09-07 09:32
1
这覆盖、重载我老是分布清楚
游客请输入验证码