package 工厂方法模式; public interface Human { public void laugh(); public void cry(); public void talk(); } //**************************************************************************** package 工厂方法模式; public class WhiteHuman implements Human { public void laugh() { System.out.println("白种人笑了····"); } public void cry() { System.out.println("白种人哭了····"); } public void talk() { System.out.println("白种人在说话了····"); } } //**************************************************************************** package 工厂方法模式; public class BlackHuman implements Human { public void laugh() { System.out.println("黑种人笑了····"); } public void cry() { System.out.println("黑种人哭了····"); } public void talk() { System.out.println("黑种人在说话了····"); } } //**************************************************************************** package 工厂方法模式; public class YellowHuman implements Human { public void laugh() { System.out.println("黄种人笑了····"); } public void cry() { System.out.println("黄种人哭了····"); } public void talk() { System.out.println("黄种人在说话了····"); } } //**************************************************************************** package 工厂方法模式; public class HumanFactory { public static Human createHuman(Class c) throws InstantiationException, IllegalAccessException, ClassNotFoundException{ Human human = null; human = (Human)Class.forName(c.getName()).newInstance(); return human; } } //**************************************************************************** package 工厂方法模式; public class NvWa { public static void main(String aegs[]) throws InstantiationException, IllegalAccessException, ClassNotFoundException{ System.out.println("····造出的第一批人是这样的:白人····"); Human whiteHuman = HumanFactory.createHuman(WhiteHuman.class); whiteHuman.cry(); whiteHuman.laugh(); whiteHuman.talk(); System.out.println("····造出的第二批人是这样的:黑人····"); Human BlackHuman = HumanFactory.createHuman(BlackHuman.class); BlackHuman.cry(); BlackHuman.laugh(); BlackHuman.talk(); System.out.println("····造出的第三批人是这样的:黄种人····"); Human YellowHuman = HumanFactory.createHuman(YellowHuman.class); YellowHuman.cry(); YellowHuman.laugh(); YellowHuman.talk(); } }
工厂方法模式A
猜你喜欢
转载自zhangit.iteye.com/blog/1853195
今日推荐
周排行