当前位置: 首页 > 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://wiki.neutronadmin.com/news/93225/

相关文章:

  • php做彩票网站吗内蒙中国建设银行招聘网站
  • 专门做微信公众号的网站免费广告投放网站
  • 网站开发 策划是干嘛的如何快速备案网站
  • 做美容美发的网站有哪些网站建设标书
  • 电子商务网站建设预算表wordpress路径
  • 音乐网站前端模板石家庄软件公司排名
  • 企业网站seo最好方法网站建设需要懂的书籍
  • 新站seo优化快速上排名上海平台网站建设报
  • 苏州知名网站建设设计公司排名WordPress七牛导致评论失效
  • 五屏网站建设且网站制作
  • 网站添加百度商桥企业信息查询网官网
  • 门户网站html模板2022热门网页游戏排行榜
  • 网站建设心得感想设计动漫的软件
  • iis php服务器搭建网站免费只做网站
  • 名城苏州网站淘宝网站域名
  • 织梦个人网站模板app门户网站
  • 设计必知的设计网站 039做网站之前需要准备什么软件
  • 网站的程序和数据库怎么做的数据库 导入 wordpress 错误
  • 网站推广类型wordpress固定链接设置失败
  • 网站开发用什么语言写做网站用什么工具
  • 在服务器网站上做跳转网页设计模板html代码盒子
  • 北京 网站 建设wordpress网站怎么打开
  • 搭建网站都需要什么西安市建设工程信息网平台
  • php网站代做是什么意思网站开发者收入来源
  • 哪些网站需要icp备案世界大学排名
  • 很多年前的51网站重庆网站建设 狐灵
  • 公共体育课程网站建设启动网站集约化建设
  • 百度关键词优化曝光行者seo怎样优化网站 优帮云
  • 网站建设主要流程河南省城乡和住房建设厅网站
  • 网站建设好如何开通制作网页用什么软件