当前位置: 首页 > news >正文

做图的ppt模板下载网站平台接广告在哪里接的

做图的ppt模板下载网站,平台接广告在哪里接的,桂林生活网招聘,沧州做网站公司抽象工厂属于创建型模式。 抽象工厂和工厂设计模式的区别: 工厂模式的是设计模式中最简单的一种设计模式,主要设计思想是,分离对象的创建和使用,在Java中,如果需要使用一个对象时,需要new Class()&#xff…

         抽象工厂属于创建型模式。

         抽象工厂和工厂设计模式的区别:

        工厂模式的是设计模式中最简单的一种设计模式,主要设计思想是,分离对象的创建和使用,在Java中,如果需要使用一个对象时,需要new Class(),获取到对象,然后操作。而将创建对象这一过程集中管理就叫做工厂模式,在工厂模式下,你不需要创建目标对象,而是使用管理对象的工厂,去调用对象。

        抽象工厂负责创建一个相关对象的工厂,抽象工厂创建工厂,工厂再创建对象。

        工厂的上级抽象工厂

public abstract class AbstractFactory {public abstract Color getColor(String color);public abstract Shape getShape(String shape);
}

        普通工厂类,负责创建具体对象 

public class ShapeFactory extends AbstractFactory {@Overridepublic Color getColor(String color) {return null;}@Overridepublic Shape getShape(String shapeType) {if (shapeType == null) {return null;}if (shapeType.equalsIgnoreCase("CIRCLE")) {return new Circle();} else if (shapeType.equalsIgnoreCase("RECTANGLE")) {return new Rectangle();} else if (shapeType.equalsIgnoreCase("SQUARE")) {return new Square();}return null;}
}

        还需要一个类来根据条件创建不同的工厂,不同的工厂实现了抽象类,在这里就可以根据不同条件返回工厂对象,否则返回工厂对象的类需要写两个,因为两个工厂都实现了父类抽象工厂,返回对象可以返回父类

public class FactoryProducer {public static AbstractFactory getFactory(String choice){if(choice.equalsIgnoreCase("SHAPE")){return new ShapeFactory();} else if(choice.equalsIgnoreCase("COLOR")){return new ColorFactory();}return null;}
}

           在调用时,可以清晰的看到,首先获取工厂对象,再通过工厂对象来实现创建不同的对象

public static void main(String[] args) {//获取形状工厂AbstractFactory shapeFactory = FactoryProducer.getFactory("SHAPE");//获取形状为 Circle 的对象Shape shape1 = shapeFactory.getShape("CIRCLE");//调用 Circle 的 draw 方法shape1.draw();//获取形状为 Rectangle 的对象Shape shape2 = shapeFactory.getShape("RECTANGLE");//调用 Rectangle 的 draw 方法shape2.draw();//获取形状为 Square 的对象Shape shape3 = shapeFactory.getShape("SQUARE");//调用 Square 的 draw 方法shape3.draw();//获取颜色工厂AbstractFactory colorFactory = FactoryProducer.getFactory("COLOR");//获取颜色为 Red 的对象Color color1 = colorFactory.getColor("RED");//调用 Red 的 fill 方法color1.fill();//获取颜色为 Green 的对象Color color2 = colorFactory.getColor("GREEN");//调用 Green 的 fill 方法color2.fill();//获取颜色为 Blue 的对象Color color3 = colorFactory.getColor("BLUE");//调用 Blue 的 fill 方法color3.fill();}

 

        git地址:Design_pattern: 设计模式icon-default.png?t=N7T8https://gitee.com/qiminghaonan123/design_pattern.git

http://www.yidumall.com/news/37180.html

相关文章:

  • 网站建设 甲方欠款 如何处理营销软文范例500
  • 宿州网站建设成人电脑速成培训班
  • 网站备案前置审批辽阳网站seo
  • 博客型网站建设少儿编程
  • ppt做会动彩字网站小学生抄写新闻20字
  • 汽车网站建设公司哪家好2021年搜索引擎排名
  • 素材网站免费短视频seo大全
  • 交互效果好的移动端网站潮州seo
  • 怎么修改wordpress目录名字郑州seo网站排名
  • 怎么做网站的图片近10天的时政新闻
  • 17来做网站网络营销服务的特点有哪些
  • 旅游网站如何做推广爱网
  • 正规网络游戏平台河南seo优化
  • 做网站大概需要多少钱郑州百度推广公司电话
  • 网站建设公司的业务范围seo每日
  • 个人网站如何制作域名注册阿里云
  • win7主机做网站电脑培训班速成班
  • 高安网站制作5188关键词平台
  • iis 网站访问权限设置培训机构哪家最好
  • 网站建设的规划方案衡阳seo外包
  • wordpress图片云盘温州seo优化公司
  • 小学生手工制作关键词优化分析工具
  • 网站主色调有几种seo优化快速排名技术
  • 上海网站建设升级重庆seo务
  • 用phpmysql做网站网站运营与维护
  • 包包网站建设策划书seo综合
  • 怎样做投资与理财网站文大侠seo博客
  • 学院评估+++网站建设整改建立网站
  • 做网站单页烧钱可以做产品推广的软件有哪些
  • 手机平台网站系统搜索引擎外部优化有哪些渠道