我无法弄清楚API及其实现的分离意义(在java中)。在下面的程序中,我是否将它们分开?如果没有,请告诉我该怎么做。 另外,我只想知道如何在简单的程序中遵循这种做法,而不是在项目中遵循它。
public class HideImplementation{
private String value;
private String someMethod(){
//some code
}
public void setValue(String value){
//some code
}
public String getValue(){
//some code
}
}
class Client{
public static void main(String[] args){
HideImplementation obj = new HideImplementation();
obj.setValue("Java");
}
}
答案 0 :(得分:1)
API是使用代码和实现之间的契约,通常设计为接口。
public interface Contract {
public void doIt();
}
public class ContractImpl implements Contract {
public void doIt() {
// do some hidden code
}
}
public class Client {
public static void main(String[] args) {
Contract api = new ContractImpl();
api.doIt();
}
}
这样,从客户端的角度来看,实现是隐藏的(在界面后面)。