package com.gqc.adapters;
public interface IWorkerAdapters {
String work(Object worker);
boolean supports(Object worker);
}
package com.gqc.adapters.impl;
import com.gqc.adapters.IWorkerAdapters;
import com.gqc.worker.ICooker;
public class CookerAdapter implements IWorkerAdapters {
@Override
public String work(Object worker) {
return ((ICooker)worker).cook();
}
@Override
public boolean supports(Object worker) {
return (worker instanceof ICooker);
}
}
package com.gqc.adapters.impl;
import com.gqc.adapters.IWorkerAdapters;
import com.gqc.worker.IProgrammer;
public class ProgrammerAdapter implements IWorkerAdapters {
@Override
public String work(Object worker) {
return ((IProgrammer)worker).program();
}
@Override
public boolean supports(Object worker) {
return (worker instanceof IProgrammer);
}
}
package com.gqc.worker;
public interface ICooker {
String cook();
}
package com.gqc.worker;
public interface IProgrammer {
String program();
}
package com.gqc.worker.impl;
import com.gqc.worker.IProgrammer;
public class JDProgrammer implements IProgrammer {
@Override
public String program() {
return "编写程序";
}
}
package com.gqc.worker.impl;
import com.gqc.worker.ICooker;
public class QjdCooker implements ICooker {
@Override
public String cook() {
// TODO Auto-generated method stub
return "做烤鸭";
}
}
package com.gqc.worker.impl;
import com.gqc.worker.ICooker;
import com.gqc.worker.IProgrammer;
public class MyTest {
/**
* @param args
*/
public static void main(String[] args) {
ICooker qjdCooker=new QjdCooker();
IProgrammer jdProgrammer=new JDProgrammer();
System.out.println(qjdCooker.cook());
System.out.println(jdProgrammer.program());
}
}