您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 吉林大学软件学院卓班设计模式第二次作业
  所属分类: C++
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-10-21
  提 供 者: sjz***
 详细说明: 作业02 字符图像 目标:开发字符图像的类。一个字符图像是由多行ANSI可打印字符组成的,各行字符数量可以不同;一个字符图像可以通过加框(Frame)形成一个新的字符图像;两个字符图像可以通过顶端对齐的方式经水平连接(HCat)形成一个新的字符图像;两个字符图像可以通过左端对齐的方式经垂直连接(VCat)形成一个新的字符图像; 1. 现给出了一个字符图像的类定义,如下 实现上边的CharPic类。 2. 上边CharPic中,通过重载构造函数创建字符图像,但构造函数的语义不是非常直观,使用也需要特别小心。请试一试将重载的构造函数改成(简单)工厂方法,使得语义更清晰。 3. 考察完成的代码,你会发现: a) 在构造、拷贝、赋值时,会将各子图都重新构造了 一遍,拷贝和赋值使用的也是深拷贝和深赋值,这样在合成复杂的字符图像过程中,子图需要频繁地复制或赋值,效率不高; b) 在使用一个字符图像对象的过程中,不会改变字符图像中的字符,因此重新构建子图、深复制、深拷贝显得没有必要; c) 合成一个新的字符图像后,新图像不会含有关于”合成过程”的信息,即新图像不知道是通过水平连接得到的,还是垂直连接得到的,也不会知道“左子图”是什么等。 为此,重新设计了CharPic(为方便对比,类名改为Pic),希望通过子类型化和共享来避免abc中的问题。类的结构图(部分)如下: 其中,由于子类型化的存在,字符图像的拷贝采用了原型方法模式 (即虚拟拷贝构造函数);同时,禁止了图像对象间的赋值。 请定义并实现上述类图中的相关类,以及用于示例的相应主程序。 4. 若已知在复用3中的类时,可能还会增加有一些其它的需求,如: a) 增加对角线连接的字符图像 b) 显示时,可通过指定图像间隔(空白字符个数)显示字符图像; c) 变更FamePic中外框的字符(如变更为$号) d) 增加以加密的形式显示字符图像功能,如将字符图像中的A显示成Z,Z显示成Y。 e) 增加图像的swap功能,即交换左右或上下(对于SimplePic和FramePic的Swap,不做操作即可) 请继续对3中的类,使用桥接模式重新设计,部分类图如下;同时指出如何适应a-e的变化需求. 5. 现有Menu类及相关类,如下图 在显示AppleMenu和WindowMenu时,是以图片的形式显示的;对于ConsoleMenu当然也以图片形式显示更一致些,但若完全实现该功能,可能会比较繁琐,可以考虑复用已有的字符图像类。为此,请分别以类适配器模式和对象适配器模式,复用字符图像类,实现ConsoleMenu的show功能。
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索:
 输入关键字,在本站1000多万海量源码库中尽情搜索: