public interface Stream {
public int read();
}
public class FileStream implements Stream {
...
}
public class StreamReader {
public Steam getBaseStream();
}
现在要增加一个接口,支持属性readTimeout,该属性确定stream在超时前尝试读取多长时间
public interface TimeoutStream extends Stream {
public int getReadTimeout();
public setReadTimeout(int seconds);
}
原来的FileStream就会变成
public class FileStream implements TimeoutStream {
...
}
那么已经使用了StreamReader的客户端代码,怎么才能用到这个TimeoutStream呢?