产品接口
public interface Dota {
public void hero();}
工厂接口
public abstract class DotaFactory {
public abstract Dota hero();
}
具体产品
public class LanPang implements Dota {
@Override
public void hero() {
// TODO Auto-generated method stub
System.out.println("LanPang is the best of course");
}
}
具体产品工厂
public class LanPangFactory extends DotaFactory{
@Override
public Dota hero() {
// TODO Auto-generated method stub
return new LanPang();
}
}
具体产品
public class Lion implements Dota {
@Override
public void hero() {
// TODO Auto-generated method stub
System.out.println("lion is the best");
}
}
具体产品工厂
public class LionFactory extends DotaFactory{
@Override
public Dota hero() {
// TODO Auto-generated method stub
return new Lion();
}
}
测试代码
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
DotaFactory lionFactory=new LionFactory();
Dota lion=lionFactory.hero();
lion.hero();
DotaFactory lanPangFactory=new LanPangFactory();
Dota lanpang=lanPangFactory.hero();
lanpang.hero();
}
}
测试结果