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

    }







  • 相关阅读:
    去掉滚动条
    一些input用法
    jquery-ui datepicker
    js修改样式
    js时间
    跳转到页面的某个anchor
    事件传递
    flex对象.show()的时候display变成block
    html中传递信息
    button disable and enable
  • 原文地址:https://www.cnblogs.com/xiaobo68688/p/2367792.html
Copyright © 2011-2022 走看看