欢迎来到天天文库
浏览记录
ID:38798332
大小:1.46 MB
页数:9页
时间:2019-06-19
《实验三 装饰模式和状态模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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);}}////////////////////////////////
此文档下载收益归作者所有