publicclass test14 {publicstaticvoidmain(String[] args){Usermanager u=newUsermanager();Usermanager v=newUsermanager();
u.action("add","admin");
v.action("add","user");}}classUsermanagerextendsBasemanager{publicvoidexecute(String method){if(method.equals("add")){System.out.println("execute the action of add");}elseif(method.equals("delete")){System.out.println("execute the action of delete");}}}abstractclassBasemanager{publicvoidaction(String action,String name){if(name.equals("admin")){this.execute(action);}else{System.out.println("please call for the admin");}}abstractpublicvoidexecute(String action);}
publicclass test15 {publicstaticvoidmain(String[] args){BaseService b=newUseService();BaseService c=newUseService();
b.setiSave(newFileSave());
b.add("sss");
c.setiSave(newNetSave());
c.add("12121");}}interfaceISave{abstractvoidsave();}classFileSaveimplementsISave{publicvoidsave(){System.out.println("save the data in the file");}}classNetSaveimplementsISave{publicvoidsave(){System.out.println("save the data in the net");}}abstractclassBaseService{ISave iSave;publicvoidsetiSave(ISave iSave){this.iSave=iSave;}publicvoidadd(String data){System.out.println("check the legality of data");
iSave.save();;System.out.println("finish save data :"+data);}}classUseServiceextendsBaseService{}