一天一个重构方法(22):封装向下转型
2009-08-10 10:44:41某个函数返回的对象,需要由函数调用者执行向下转型动作,将向下转型动作移到函数中。
需要转型的代码如下:
public object LastReading()
{
return readings.lastElement();
}
将转型操作提到函数内后的代码
public Reading LastReading()
{
return (Reading)readings.lastElement();
}
如果你的某个函数返回一个值,并且你知道你所返回的对象的具体类型时,如果你返回了一个更一般的类型,你便是在函数用户身上强加了非必要的工作。这中情况下你不应该要求用户承担向下转型的责任,应该尽量为他们提供准确的型别。