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

做网站在哪品牌网站建设 蝌蚪5小

做网站在哪,品牌网站建设 蝌蚪5小,贵阳网页网站制作,域名建设好了怎么在建设网站抽象工厂模式#xff1a;为创建一组相关的或者相互依赖的对象提供一个接口#xff0c;而且无需指定他们的具体类。 抽象工厂模式是工厂方法模式的升级版本#xff0c;在有多个业务品种、业务分类时#xff0c;通过抽象工厂模式产生需要的对象是一种非常好的解决方式。 pac…抽象工厂模式为创建一组相关的或者相互依赖的对象提供一个接口而且无需指定他们的具体类。 抽象工厂模式是工厂方法模式的升级版本在有多个业务品种、业务分类时通过抽象工厂模式产生需要的对象是一种非常好的解决方式。 package com.juno.AbstractFactoryPattern; // 抽象产品类 public abstract class AbstractProductA {// 每个产品共有的方法public void shareMethod() {}// 每个产品相同方法不同实现public abstract void doSomething(); }package com.juno.AbstractFactoryPattern; // 抽象产品类 public abstract class AbstractProductB {// 每个产品共有的方法public void shareMethod() {}// 每个产品相同方法不同实现public abstract void doSomething(); }package com.juno.AbstractFactoryPattern; // 产品A1的实现类 public class ProductA1 extends AbstractProductA {Overridepublic void doSomething() {System.out.println(产品A1的实现方法);}}package com.juno.AbstractFactoryPattern; // 产品A1的实现类 public class ProductA2 extends AbstractProductA {Overridepublic void doSomething() {System.out.println(产品A2的实现方法);}}package com.juno.AbstractFactoryPattern; // 产品A1的实现类 public class ProductB1 extends AbstractProductB {Overridepublic void doSomething() {System.out.println(产品B1的实现方法);}}package com.juno.AbstractFactoryPattern; // 产品A1的实现类 public class ProductB2 extends AbstractProductB {Overridepublic void doSomething() {System.out.println(产品B2的实现方法);}}package com.juno.AbstractFactoryPattern;public abstract class AbstractCreatorA {// 创建A产品家族public abstract AbstractProductA createProductA();// 创建B产品家族public abstract AbstractProductB createProductB(); }package com.juno.AbstractFactoryPattern;public class CreatorA1 extends AbstractCreatorA{Overridepublic AbstractProductA createProductA() {// 只生产产品等级为1的A产品return new ProductA1();}Overridepublic AbstractProductB createProductB() {// 只生产产品等级为1的B产品return new ProductB1();}}package com.juno.AbstractFactoryPattern;public class CreatorA2 extends AbstractCreatorA{Overridepublic AbstractProductA createProductA() {// 只生产产品等级为2的A产品return new ProductA2();}Overridepublic AbstractProductB createProductB() {// 只生产产品等级为2的B产品return new ProductB2();}}package com.juno.AbstractFactoryPattern;//抽象工厂类负责定义产品对象的产生 public abstract class AbstractCreatorB {/*** 创建一个产品A对象其输入参数可以自行设置* 通常为String、Enum、Class等当然也可以为空*/public abstract T extends AbstractProductA T createProductA(ClassT c);/*** 创建一个产品B对象其输入参数可以自行设置* 通常为String、Enum、Class等当然也可以为空*/public abstract T extends AbstractProductB T createProductB(ClassT c); }package com.juno.AbstractFactoryPattern;public class CreatorB extends AbstractCreatorB {SuppressWarnings(unchecked)Overridepublic T extends AbstractProductA T createProductA(ClassT c) {AbstractProductA product null;try {product (AbstractProductA) Class.forName(c.getName()).newInstance();} catch (Exception e) {// TODO 异常处理}return (T)product;}SuppressWarnings(unchecked)Overridepublic T extends AbstractProductB T createProductB(ClassT c) {AbstractProductB product null;try {product (AbstractProductB) Class.forName(c.getName()).newInstance();} catch (Exception e) {// TODO 异常处理}return (T)product;}}package com.juno.AbstractFactoryPattern;public class Client {public static void main(String[] args) {// 定义出两个工厂AbstractCreatorA creatorA1 new CreatorA1();AbstractCreatorA creatorA2 new CreatorA2();// 产生A1对象AbstractProductA a1 creatorA1.createProductA();// 产生A2对象AbstractProductA a2 creatorA2.createProductA();// 产生A1对象AbstractProductB b1 creatorA1.createProductB();// 产生A2对象AbstractProductB b2 creatorA2.createProductB();a1.doSomething();a2.doSomething();b1.doSomething();b2.doSomething();System.out.println(---------------------------);AbstractCreatorB creatorB new CreatorB();AbstractProductA a_1 creatorB.createProductA(ProductA1.class);AbstractProductA a_2 creatorB.createProductA(ProductA2.class);ProductB1 b_1 creatorB.createProductB(ProductB1.class);ProductB2 b_2 creatorB.createProductB(ProductB2.class);a_1.doSomething();a_2.doSomething();b_1.doSomething();b_2.doSomething();} }打印 产品A1的实现方法 产品A2的实现方法 产品B1的实现方法 产品B2的实现方法 --------------------------- 产品A1的实现方法 产品A2的实现方法 产品B1的实现方法 产品B2的实现方法
http://www.sadfv.cn/news/93225/

相关文章:

  • 重庆网站制作那家好如何在自己网站添加链接
  • dede网站模板客进入百度搜索网站
  • 代搭建网站规划设计网址
  • 泰安建设信息网站重庆网站建设的培训机构
  • wordpress怎么设置伪静态网站关键词排名seo
  • 学校网站建设工作总结网站启动画面
  • 深圳国外网站建设好的外贸网站特点
  • 中英文切换网站怎么做企业所得税怎么算举例
  • 网站模板织梦茂名网站建设优化
  • 欣赏网站外贸网站的推广技巧有哪些
  • 营销型网站网站电商商城平台定制
  • 自己做的网站如何让百度收录单机网页制作工具
  • 无极网站招聘信息济南的网站建设公司
  • 大型房产网站模板网页设计作业欣赏
  • 在哪个网站开发外贸业务sap.net网站开发
  • 直缝钢管网站建设定南网站建设
  • 摇钱树手机论坛网站vs2017网站开发组件
  • 龙之向导外贸网站怎么样京东网上商城会员注册步骤
  • 网站开发的课程做网站能用ai好还是ps
  • 做网站哪家公司比较好网站建设与客户价格谈判技巧
  • 网站首页优化公司苏州公司建站
  • 网站建设教学后记网站建设与管理课程实训
  • 怎么做网站横幅wordpress防护插件
  • 深圳哪里网站制作东莞专业微网站建设价格低
  • 青岛做英文网站的公司网站可信认证在哪里做
  • 有全部公司的网站单页网站利润
  • 平面设计 网站推荐如何检测网站被搜索引擎惩罚了
  • 静态网站做301重定向曼联vs曼联直播
  • 网站邮箱怎么做的外贸网站优化哪家好
  • 网站怎么做效果更好深圳建设局网和住房网