实验三 装饰模式和状态模式

实验三 装饰模式和状态模式

ID:38798332

大小:1.46 MB

页数:9页

时间:2019-06-19

实验三 装饰模式和状态模式_第1页
实验三 装饰模式和状态模式_第2页
实验三 装饰模式和状态模式_第3页
实验三 装饰模式和状态模式_第4页
实验三 装饰模式和状态模式_第5页
资源描述:

《实验三 装饰模式和状态模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、南昌大学实验报告学生姓名:崔圆圆学号:6100510079专业班级:航天102实验类型:□验证□综合■设计□创新实验日期:2013—5—9实验成绩:实验3装饰模式和状态模式一、实验目的(1)学习和掌握装饰模式(2)学习和掌握状态模式(3)学习和掌握使用这些模式解决实际问题 二、实验内容1、请使用状态模式实现下列编程要求:为了美化图片,请根据需要给图片增加背景图片修饰、边框文本描述等修饰。运行结果如图1所示。2、某银行系统定义的信用卡账号有三种状态:(1)如果账户(Account)中的余额(balance)大于等于0,此时账户的状态为正常用户状态,账号可以存款和取款操作;(2)如果账户中的

2、余额小于0,并且大于等于-1000,则账户为欠费状态,此时可以向该账户存款,也可以从该账户取款;(3)如果账户中的余额小于-1000,那么账户的状态为透支状态,此时,用户只能向该账户存款,不能再从中取款。请结合状态模式,实现账户状态的转换问题。用户只需要换行简单的三、实验要求用UML图表示上述练习的程序结构,以及各个类之间的相互关系。四、实验环境1、PC微机;2、DOS操作系统或Windows操作系统;3、jdk程序集成环境Eclipse五、实验步骤1、先安装好jdk;2、配置环境变量;3、书写java程序;4、运行程序,查看结果。 六、源代码、测试数据及UML图实验一91.1UML图:

3、1.2程序代码:packagedecorator;importjava.awt.Graphics;importjava.awt.Image;importjavax.swing.ImageIcon;importjavax.swing.JPanel;publicabstractclassVisualPictureextendsJPanel{/****/privatestaticfinallongserialVersionUID=1L;publicstaticImagemyImage=newImageIcon("src/decorator/Penguins.jpg").getImage();p

4、ublicabstractvoiddraw(Graphicsg);}/////////////////////////////////////////////////////////////////packagedecorator;9importjava.awt.*;publicclassPictureextendsVisualPicture{/****/privatestaticfinallongserialVersionUID=1L;publicvoidpaint(Graphicsg){this.draw(g);}@Overridepublicvoiddraw(Graphicsg){

5、g.drawImage(VisualPicture.myImage,0,0,500,500,this);}}/////////////////////////////////////////////////////////////////packagedecorator;importjava.awt.Graphics;publicabstractclassDecoratorextendsVisualPicture{/****/privatestaticfinallongserialVersionUID=1L;publicabstractvoiddraw(Graphicsg);}/////

6、////////////////////////////////////////////////////////////packagedecorator;importjava.awt.Color;importjava.awt.Graphics;publicclassBorderDecoratorextendsDecorator{/****/9privatestaticfinallongserialVersionUID=1L;privateVisualPicturevpic;publicBorderDecorator(VisualPicturevpic){this.vpic=vpic;}p

7、ublicvoidpaint(Graphicsg){this.draw(g);}@Overridepublicvoiddraw(Graphicsg){vpic.draw(g);g.setColor(Color.red);g.drawRect(7,12,483,475);g.drawRect(5,10,487,480);g.drawRect(2,5,494,490);}}////////////////////////////////

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。