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();
    }

    }







  • 相关阅读:
    快速幂算法
    TIME-April
    数据结构之splay树
    数据结构学习路线
    智能优化技术(四) 蚁群优化算法
    智能优化学习目录
    模式识别(四)人工神经网络
    模式识别(一) 决策树分类
    模式识别学习
    poj 2676 Sudoku
  • 原文地址:https://www.cnblogs.com/xiaobo68688/p/2367792.html
Copyright © 2011-2022 走看看