zoukankan      html  css  js  c++  java
  • 简单工厂模式(Factory Pattern)

    public interface Human 
    {
    public void getColor();
    public void talk();
    }
    public class BlackHuman implements Human 
    {

    @Override
    public void getColor()
    {
    System.out.println("黑色");
    }

    @Override
    public void talk()
    {
    System.out.println("黑人");
    }

    }
    public class WhiteHuman implements Human 
    {

    @Override
    public void getColor()
    {
    System.out.println("白色");
    }

    @Override
    public void talk()
    {
    System.out.println("白人");
    }

    }
    public class YelloHuman implements Human 
    {

    @Override
    public void getColor()
    {
    System.out.println("黄色");
    }

    @Override
    public void talk()
    {
    System.out.println("黄种人");
    }

    }
    public class HumanFactory {

    public static <T extends Human> T createHuman(Class<T> c) {

    Human human = null;

    try {
    human = (Human) Class.forName(c.getName()).newInstance();
    } catch (InstantiationException e) {
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }

    return (T) human;
    }
    }
    public class NvWa {

    /**
    *
    @param args
    */
    public static void main(String[] args) {

    Human white = HumanFactory.createHuman(WhiteHuman.class);
    white.getColor();
    white.talk();

    Human black = HumanFactory.createHuman(BlackHuman.class);
    black.getColor();
    black.talk();

    Human yellow = HumanFactory.createHuman(YelloHuman.class);
    yellow.getColor();
    yellow.talk();
    }

    }







  • 相关阅读:
    JS—ajax及async和defer的区别
    js-cookie和session
    h5小功能_classList和自定义属性data
    html5-attr和prop
    人工智能与金融
    IBM的人工智能“沃森”首次确诊罕见白血病,只用了10分钟!
    终极复制 人工智能将如何推动社会巨变
    对人工智能问题的提问
    人工智能预测精神病
    人工智能代替工人
  • 原文地址:https://www.cnblogs.com/xiaobo68688/p/2367792.html
Copyright © 2011-2022 走看看