一、
package com.ltj.atrfactory;
/**
* 男孩
* @author Administrator
*
*/
public interface Boy {
public void drawMan();
}
package com.ltj.atrfactory;
/**
* 女孩子
* @author Administrator
*
*/
public interface Girl {
public void drawWomen();
}
package com.ltj.atrfactory;
/**
* 人物的实现接口
* @author Administrator
*
*/
public interface PersonFactory {
//男孩的实现接口
public Boy getBoy();
//女孩的实现接口
public Girl getGirl();
}
三、
package com.ltj.atrfactory;
/**
* 圣诞系列的加工厂
* @author Administrator
*
*/
public class MCFactory implements PersonFactory {
@Override
public Boy getBoy() {
return new MCBoy();
}
@Override
public Girl getGirl() {
return new MCGirl();
}
}
package com.ltj.atrfactory;
/**
* 新年系列的加工厂
* @author Administrator
*
*/
public class HNFactory implements PersonFactory{
@Override
public Boy getBoy() {
return new HNBoy();
}
@Override
public Girl getGirl() {
return new HNGirl();
}
}
四、
package com.ltj.atrfactory;
/**
* 新年系列的男孩
* @author Administrator
*
*/
public class HNBoy implements Boy {
@Override
public void drawMan() {
System.out.println("=====================新年系列的男孩=====================");
}
}
package com.ltj.atrfactory;
/**
* 新系列的女孩
* @author Administrator
*
*/
public class HNGirl implements Girl{
@Override
public void drawWomen() {
System.out.println("=====================新系列的女孩=====================");
}
}
package com.ltj.atrfactory;
/**
* 圣诞系列的男孩
* @author Administrator
*
*/
public class MCBoy implements Boy{
@Override
public void drawMan() {
System.out.println("=====================圣诞系列的男孩=====================");
}
}
package com.ltj.atrfactory;
/**
* 圣诞系列的女孩
* @author Administrator
*
*/
public class MCGirl implements Girl {
@Override
public void drawWomen() {
System.out.println("=====================圣诞系列的女孩=====================");
}
}
五、
package com.ltj.atrfactory;
public class Test {
public static void main(String[] args) {
PersonFactory factory=new MCFactory();
Boy boy=factory.getBoy();
boy.drawMan();
}
}