A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© heshiwei 高级黑马   /  2015-10-8 12:26  /  142 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系


举例如下:(我们举一个发送邮件和短信的例子)
首先,创建二者的共同接口:

  1. public interface Sender {
  2.         public void Send();
  3. }
复制代码

其次,创建实现类:
  1. public class MailSender implements Sender {
  2.         @Override
  3.         public void Send() {
  4.                 System.out.println("this is mailsender!");
  5.         }
  6. }
复制代码
  1. public class SmsSender implements Sender {

  2.         @Override
  3.         public void Send() {
  4.                 System.out.println("this is sms sender!");
  5.         }
  6. }
复制代码
最后,建工厂类
  1. public class SendFactory {

  2.         public Sender produce(String type) {
  3.                 if ("mail".equals(type)) {
  4.                         return new MailSender();
  5.                 } else if ("sms".equals(type)) {
  6.                         return new SmsSender();
  7.                 } else {
  8.                         System.out.println("请输入正确的类型!");
  9.                         return null;
  10.                 }
  11.         }
  12. }
复制代码
  1. public class FactoryTest {

  2.         public static void main(String[] args) {
  3.                 SendFactory factory = new SendFactory();
  4.                 Sender sender = factory.produce("sms");
  5.                 sender.Send();
  6.         }
  7. }
复制代码

输出:this is sms sender!

1354156868_1191.PNG (6.93 KB, 下载次数: 0)

1354156868_1191.PNG

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马