接口
程序员文章站
2022-06-13 19:12:05
...
public class C {
public static void main(String args[]) {
BaseService user = new UserService();
user.setISave(new NetSave());
user.add("user");
}
}
//设置一个接口ISave把可变的行为抽象出来,定义一系列算法
interface ISave{
public void save(String date) ;
}
class FileSave implements ISave{
public void save(String date) {
System.out.println("把数据保存到文件中。。。"+date);
}
}
class NetSave implements ISave{
public void save(String date) {
System.out.println("把数据保存到网络中。。。"+date);
}
}
class DatabaseSave implements ISave{
public void save(String date) {
System.out.println("把数据保存到数据库中。。。"+date);
}
}
//abstract抽象修饰符,定义一个服务的抽象类
abstract class BaseService{
//设置接口,将isave调用ISave
private ISave isave;
//设置一个公共访问权限、无返回值的setISave
public void setISave(ISave isave) {
this.isave=isave;
}
public void add(String date) {
System.out.println("检查数据合法性。。");
isave.save(date);
System.out.println("数据保存完毕。。");
}
}
class UserService extends BaseService{
}