文档章节

工厂模式

清尘V
 清尘V
发布于 2016/04/15 09:09
字数 214
阅读 16
收藏 0

定义接口:

package com.whereta.factory;

/**
 * Vincent 创建于 2016/4/15.
 */
public interface IPerson {

    void say();

}

定义实现类:

package com.whereta.factory;

/**
 * Vincent 创建于 2016/4/15.
 */
public class Man implements IPerson {
    public void say() {
        System.out.println("我是男人");
    }
}
package com.whereta.factory;

/**
 * Vincent 创建于 2016/4/15.
 */
public class Woman implements IPerson {
    public void say() {
        System.out.println("我是女人");
    }
}

定义工厂类:

package com.whereta.factory;

/**
 * Vincent 创建于 2016/4/15.
 */
public class PersonFactory {
    public static IPerson getMan(){
        return new Man();
    }

    public static IPerson getWoman(){
        return new Woman();
    }
}

测试:

package com.whereta.factory;

/**
 * Vincent 创建于 2016/4/15.
 * 工厂模式适应于实现了同一个接口的类的创建
 */
public class Main {
    public static void main(String[] args) {

        IPerson man = PersonFactory.getMan();
        man.say();
        IPerson woman = PersonFactory.getWoman();
        woman.say();

    }
}

输出结果:

Connected to the target VM, address: '127.0.0.1:51565', transport: 'socket'
我是男人
我是女人
Disconnected from the target VM, address: '127.0.0.1:51565', transport: 'socket'

Process finished with exit code 0

个人博客:http://www.whereta.com

© 著作权归作者所有

共有 人打赏支持
清尘V
粉丝 42
博文 107
码字总数 47780
作品 0
青岛
程序员

暂无文章

OSChina 周六乱弹 —— 放假前期焦虑症晚期

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Matteo的单曲《Panama》: 《Panama》- Matteo 手机党少年们想听歌,请使劲儿戳(这里) @新垣吉衣OSC :我发现只要去有小朋友...

小小编辑
16分钟前
21
5
wait()被notify()后,接着执行wait()后面的语句

wait()被notify()后,接着执行wait()后面的语句

noteman
48分钟前
1
0
Ubuntu集群-使用MAAS开始裸机安装

Ubuntu使用MAAS装机的七个步骤。 1、Setup your hardware You need one small server for MAAS and at least one server which can be managed with a BMC. It is recommended to have the M......

openthings
今天
3
0
OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部