package com.sunny.project;
public interface Boy {
public void drawBoy();
}
package com.sunny.project;
public class ChrisBoy implements Boy {
public void drawBoy(){
System.out.println("hello圣诞男孩");
}
}
package com.sunny.project;
public class NewYearBoy implements Boy {
public void drawBoy(){
System.out.println("hello新年男孩");
}
}
package com.sunny.project;
public interface Girl {
public void drawGirl();
}
package com.sunny.project;
public class ChrisGirl implements Girl {
public void drawGirl(){
System.out.println("hello圣诞女孩");
}
}
package com.sunny.project;
public class NewYearGirl implements Girl {
public void drawGirl(){
System.out.println("hello新年女孩");
}
}
package com.sunny.project;
/**
* 圣诞系列加工厂
* @author tina
*
*/
public class ChrisFactory implements PersonFactory {
@Override
public Boy getboy() {
// TODO Auto-generated method stub
return new ChrisBoy();
}
@Override
public Girl getGirl() {
// TODO Auto-generated method stub
return new ChrisGirl();
}
}
package com.sunny.project;
public class NewYearFactory implements PersonFactory {
@Override
public Boy getboy() {
// TODO Auto-generated method stub
return new NewYearBoy();
}
@Override
public Girl getGirl() {
// TODO Auto-generated method stub
return new NewYearGirl();
}
}
package com.sunny.project;
public interface PersonFactory {
public Boy getboy();
public Girl getGirl();
}
package com.sunny.project;
public class SunnyTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
// HairInterface left = new LeftHair();
// left.draw();
//为了实现与客户分离
HairFactory factory = new HairFactory();
// HairInterface left = factory.getHair("left");
// left.draw();
HairInterface left3 = factory.getHairByClass("com.sunny.project.LeftHair");
left3.draw();
PersonFactory factory1 = new ChrisFactory();
Girl mygirl = factory1.getGirl();
mygirl.drawGirl();
}
}