我无法弄清楚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");
}
}
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();
}
}
这样,从客户端的角度来看,实现是隐藏的(在接口后面)。