工厂模式
博客专区 > 清尘V 的博客 > 博客详情
工厂模式
清尘V 发表于2年前
工厂模式
  • 发表于 2年前
  • 阅读 16
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 工厂模式适应于实现了同一个接口的类的创建

定义接口:

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

共有 人打赏支持
粉丝 44
博文 107
码字总数 47780
×
清尘V
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: