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

域名申请好怎么做网站p2p网站制作价格

域名申请好怎么做网站,p2p网站制作价格,免费商城网站建设平台,东莞58同城网招聘创建型设计模式 - 抽象工厂设计模式 一. 简介二. 列子2.1 定义电脑的抽象类和子类2.2 定义抽象工厂类和其实现类2.3 测试 三. 抽象工厂设计模式的好处四. 抽象工厂模式的案例 前言 这是我在这个网站整理的笔记,有错误的地方请指出#xff0c;关注我#xff0c;接下来还会持续… 创建型设计模式 - 抽象工厂设计模式 一. 简介二. 列子2.1 定义电脑的抽象类和子类2.2 定义抽象工厂类和其实现类2.3 测试 三. 抽象工厂设计模式的好处四. 抽象工厂模式的案例 前言 这是我在这个网站整理的笔记,有错误的地方请指出关注我接下来还会持续更新。 作者神的孩子都在歌唱 抽象工厂设计模式是创建模式之一。抽象工厂模式 几乎与 工厂模式 相似只是它更像工厂的工厂。 一. 简介 看本片文章前可以先看 工厂设计模式您会注意到我们有一个 Factory 类。该工厂类根据提供的输入返回不同的子类工厂类使用 if-else 或 switch 语句来实现此目的。在抽象工厂模式中我们摆脱了 if-else 块每个子类都有一个工厂类然后设置一个抽象工厂类工厂类去实现这个抽象工厂。工厂方法模式只生产一个等级的产品而抽象工厂模式可生产多个等级的产品。大白话可能没办法讲清楚接下来会通过代码解释这样就能很容易掌握和理解工厂模式和抽象工厂模式之间的细微差别。 二. 列子 就像我们的工厂模式案例一样我们将使用相同的超类和子类。 假如我们要做一个电脑购买系统里面有台式机 和笔记本 他们是 电脑Computer类别在购买的时候可以选择内存memory和磁盘disk两个参数。可是台式机又有 华为台式机 HuaWeiPc和 小米台式机(XiaoMiPc) 笔记本又有 华为笔记本HuaWeiLaptop 和小米笔记本(XiaoMiLaptop) 。 台式机和笔记本是一个等级华为和小米又是一个等级这种多态性就适合使用抽象工厂设计模式类图如下 这里设置一个抽象工厂(ComputerAbstractFactory), 台式机 PcFactory笔记本LaptopFactory这两个工厂实现他创建一个工厂ComputerFactory给客户端提供创建子类的入口点 2.1 定义电脑的抽象类和子类 电脑抽象类 /*** 电脑抽象类** author chenyunzhi* date 2023/12/27 0:09*/ public abstract class Computer {/*** 内存抽象方法* return string*/public abstract String memory();/*** 磁盘抽象方法* return string*/public abstract String disk();Overridepublic String toString() {return 内存: memory() 磁盘: disk();} }华为台式机 /*** 华为台式机** author chenyunzhi* date 2023/12/27 0:22*/ public class HuaWeiPc extends Computer {private final String memory;private final String disk;public HuaWeiPc(String memory, String disk) {this.memory memory;this.disk disk;}Overridepublic String memory() {return this.memory;}Overridepublic String disk() {return this.disk;} }小米台式机 /*** 小米台式机** author chenyunzhi* date 2023/12/27 0:23*/ public class XiaoMiPc extends Computer{private final String memory;private final String disk;public XiaoMiPc(String memory, String disk) {this.memory memory;this.disk disk;}Overridepublic String memory() {return this.memory;}Overridepublic String disk() {return this.disk;} }华为笔记本 /*** 华为笔记本** author chenyunzhi* date 2023/12/27 0:26*/ public class HuaWeiLaptop extends Computer{private final String memory;private final String disk;public HuaWeiLaptop(String memory, String disk) {this.memory memory;this.disk disk;}Overridepublic String memory() {return this.memory;}Overridepublic String disk() {return this.disk;} }小米笔记本 /*** 小米笔记本** author chenyunzhi* date 2023/12/27 0:30*/ public class XiaoMiLaptop extends Computer{private final String memory;private final String disk;public XiaoMiLaptop(String memory, String disk) {this.memory memory;this.disk disk;}Overridepublic String memory() {return this.memory;}Overridepublic String disk() {return this.disk;} }2.2 定义抽象工厂类和其实现类 电脑抽象工厂 创建一个接口或者抽象类都可以 /*** 电脑抽象工厂** author chenyunzhi* date 2023/12/27 22:53*/ public interface ComputerAbstractFactory {/*** 创建华为电脑接口*/public Computer createHuaWeiComputer();/*** 创建小米电脑接口*/public Computer createXiaoMiComputer(); }台式机工厂 /*** 台式机工厂** author chenyunzhi* date 2023/12/27 21:57*/ public class PcFactory implements ComputerAbstractFactory{private final String memory;private final String disk;public PcFactory(String memory, String disk) {this.memory memory;this.disk disk;}Overridepublic Computer createHuaWeiComputer() {return new HuaWeiPc(memory, disk);}Overridepublic Computer createXiaoMiComputer() {return new XiaoMiPc(memory, disk);} }笔记本工厂 /*** 笔记本工厂** author chenyunzhi* date 2023/12/27 23:08*/ public class LaptopFactory implements ComputerAbstractFactory{private final String memory;private final String disk;public LaptopFactory(String memory, String disk) {this.memory memory;this.disk disk;}Overridepublic Computer createHuaWeiComputer() {return new HuaWeiLaptop(memory, disk);}Overridepublic Computer createXiaoMiComputer() {return new XiaoMiLaptop(memory, disk);} }2.3 测试 /*** 测试** author chenyunzhi* date 2023/12/27 23:25*/ public class TestDesignPatterns {public static void main(String[] args) {testDesignPatterns();}private static void testDesignPatterns() {Computer huaWeiComputer ComputerFactory.getHuaWeiComputer(new PcFactory(32 GB, 1 TB));System.out.println(华为pc电脑 huaWeiComputer);Computer xiaoMiComputer ComputerFactory.getXiaoMiComputer(new PcFactory(16 GB, 512 GB));System.out.println(小米pc电脑 xiaoMiComputer);Computer huaWeiComputer1 ComputerFactory.getHuaWeiComputer(new LaptopFactory(8 GB, 1 TB));System.out.println(华为笔记本电脑 huaWeiComputer1);Computer xiaoMiComputer1 ComputerFactory.getXiaoMiComputer(new LaptopFactory(4 GB, 512 GB));System.out.println(小米笔记本电脑 xiaoMiComputer1);} }三. 抽象工厂设计模式的好处 抽象工厂模式是“工厂的工厂”可以很容易地扩展以容纳更多的产品例如我们可以添加另一个子类 ipad 和工厂 ipadFactory。抽象工厂模式是健壮的并且避免了工厂模式的条件逻辑。 四. 抽象工厂模式的案例 javax.xml.parsers.DocumentBuilderFactory#newInstance()javax.xml.transform.TransformerFactory#newInstance()javax.xml.xpath.XPathFactory#newInstance() 作者神的孩子都在歌唱 本人博客https://blog.csdn.net/weixin_46654114 转载说明务必注明来源附带本人博客连接。
http://www.zqtcl.cn/news/1108/

相关文章:

  • 建设银行信用卡网站下载东莞百度网站快速排名
  • qq空间主页制作网站莆田 做网站的公司
  • 网站建设百度推广说词全国物流网站有哪些平台
  • 稷山做网站西安有几家做网站
  • 在线绘画网站做美食软件视频网站有哪些
  • 如何重视企业网站的建设文章列表页wordpress
  • 百度免费网站空间网络运维面试题
  • 商业图片素材网站平台搭建一条龙
  • 注册公司需要的网站建设wordpress首页文章摘录
  • 没有网站做APP葛亚曦设计公司官网
  • 咋把网站制作成软件wordpress改端口
  • 微信网站平台建设方案棋牌网站开发需要多少钱
  • 畜牧业网站建设seo网站怎么搭建
  • 宝山宜昌网站建设优化大师官网下载
  • 学校校园网站建设重庆城市建设网站
  • 沈阳模板网站制作网站如何做关
  • 西安网站建设有那些公司好兰州网站建设多少钱
  • dw 怎么做钓鱼网站网页制作下载图片代码
  • 网站后台怎么制作做网站要不要交税
  • 十大搞笑素材网站吉林沈阳网站建设
  • 网站设计公司长沙公司电商网站开发环境怎么写
  • 苏州市建设局老网站python做网站步骤
  • 网站开发简单的框架国字类型网站有哪些内容
  • 台州网站建设优化天河建设网站报价
  • 南宁网站建设哪家公司好建网站的流程
  • 合肥优秀网站建设创意空间设计
  • 网站开发语言哪种好做视频教学网站服务器配置
  • 盐田做网站的公司app开发制作定制外包26
  • 北京网站建设58中企动力总部
  • 宜春做网站哪里好网站建设企业网站制作