软件开发生命周期与建模-实验报告-桥接-适配器桥接-适配器-仿生机器人-模拟毛笔系统资料(共20页).doc
《软件开发生命周期与建模-实验报告-桥接-适配器桥接-适配器-仿生机器人-模拟毛笔系统资料(共20页).doc》由会员分享,可在线阅读,更多相关《软件开发生命周期与建模-实验报告-桥接-适配器桥接-适配器-仿生机器人-模拟毛笔系统资料(共20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上附:实验报告格式信息与管理科学学院计算机科学系实验报告课程名称: 软件开发生命周期与建模 实验名称: 【实验3】适配器设计模式(仿生机器人) 专心-专注-专业姓 名: 杨现阳,张泽浩,张金庚,张俊超,杨波,王秋波 组号: 3 班级:2014级计应4班 指导教师: 张 浩 实 验 室: 兰亭机房2 日 期: 2016年05月25日一、实验目的 适配器模式(Adapter Pattern) 是将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。通过适配器设计模式实验,掌握适配器设计模式是如何使
2、得接口不兼容而不能交互的类可以一起工作,理解适配器模式的优点:将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,而无须修改原有代码;增加了类的透明性和复用性,将具体的实现封装在适配者类中,对于客户端类来说是透明的,而且提高了适配者的复用性;灵活性和扩展性都非常好,通过使用配置文件,可以很方便地更换适配器,也可以在不修改原有代码的基础上增加新的适配器类,完全符合“开闭原则”。二、实验环境一台PC机,所需软件Win7/10、UML工具(Rose/Visio/EclipseUML/ StartUML/)、Eclipse/MyEclipse、JDK6.0等。三、实验内容 仿生机器人:现
3、需要设计一个可以模拟各种动物行为的机器人,在机器人中定义了一系列方法,如机器人叫喊方法cry( )、机器人移动方法move( )等。如果希望在不修改已有代码的基础上使得机器人能够像狗一样叫wangWang( ),像狗一样跑dogRun( ),像猫一样的叫miaoMiao( ),像猫一样的跑catRun( )。请使用类适配器模式和对象适配器模式分别进行系统设计,使得机器人能够仿生狗和猫等各类不同动物的叫和跑。四、实验操作过程 1分析得出仿生机器人的目标对象和被适配对象。目标对象:机器人被适配对象:狗2用类适配器模式对仿生机器人进行适配,定义目标对象接口和被适配对象类。目标对象接口:Robotpu
4、blic interface Robot public void cry(); public void move();被适配对象类:Dogimport javax.swing.JOptionPane;public class Dog public void wang() JOptionPane.showMessageDialog(null, 狗在汪汪叫!,14计应四班第三组 杨现阳,张金庚,张俊超,张泽浩,杨波,王秋波,1); public void run() JOptionPane.showMessageDialog(null, 狗在奔跑!,14计应四班第三组 杨现阳,张金庚,张俊超,张泽
5、浩,杨波,王秋波,1); 3用类适配器模式对仿生机器人进行适配,定义适配器类,实现目标对象接口和继承被适配对象类。适配器(Adaper)角色:DogAdapterpublic class DogAdapter extends Dog implements Robot public void cry() wang(); public void move() run();4 给出通用的类适配模式结构,并进行角色说明。目标(Target)角色:这就是所期待得到的接口。源(Adaptee)角色:现在需要适配的接口。适配器(Adapter)角色:适配器类是本模式的核心。适配器把源接口转换成目标接口。显然
6、,这一角色不可以是接口,而必须是具体类。5用对象类适配器模式对仿生机器人进行适配,定义目标对象类和被适配对象类。目标对象类:Robot package 对象适配器;public abstract class Robot public abstract void cry();public abstract void move();被适配对象类:Dog package 对象适配器;import javax.swing.JOptionPane;public class Dog public void wang() JOptionPane.showMessageDialog(null, 狗在汪汪叫!,
7、14计应四班第三组 杨现阳,张金庚,张俊超,张泽浩,杨波,王秋波,1); public void run() JOptionPane.showMessageDialog(null, 狗在奔跑!,14计应四班第三组 杨现阳,张金庚,张俊超,张泽浩,杨波,王秋波,1); 6用对象适配器模式对仿生机器人进行适配,定义适配器类,继承目标对象类和聚合被适配对象类。适配器(Adaper)角色:DogAdapterpackage 对象适配器;public class DogAdapter extends Robot Dog dog=new Dog();public void cry() dog.wang()
8、; public void move() dog.run();7给出通用的对象适配模式结构,并进行角色说明。目标(Target)角色:Target。源(Adaptee)角色:Adaptee。适配器(Adapter)角色:Adapter8. 课后自测与练习:理解和掌握默认适配器模式、双向适配器默认适配器模式(Default Adapter Pattern)或缺省适配器模式 当不需要全部实现接口提供的方法时,可先设计一个抽象类实现接口,并为该接口中每个方法提供一个默认实现(空方法),那么该抽象类的子类可有选择地覆盖父类的某些方法来实现需求,它适用于一个接口不想使用其所有的方法的情况。因此也称为单接
9、口适配器模式。 双向适配器 在对象适配器的使用过程中,如果在适配器中同时包含对目标类和适配者类的引用,适配者可以通过它调用目标类中的方法,目标类也可以通过它调用适配者类中的方法,那么该适配器就是一个双向适配器。 五、核心代码与实验结果 核心代码:package 对象适配器;public class Client public static void main(String args) Robot da=new DogAdapter(); da.cry(); da.move();运行结果: 六、心得体会 类适配器使用对象继承的方式,是静态的定义方式;而对象适配器使用对象组合的方式,是动态组合的方
10、式。对于类适配器,由于适配器直接继承了Adaptee,使得适配器不能和Adaptee的子类一起工作,因为继承是静态的关系,当适配器继承了Adaptee后,就不可能再去处理 Adaptee的子类了。对于对象适配器,一个适配器可以把多种不同的源适配到同一个目标。换言之,同一个适配器可以把源类和它的子类都适配到目标接口。因为对象适配器采用的是对象组合的关系,只要对象类型正确,是不是子类都无所谓。 对于类适配器,适配器可以重定义Adaptee的部分行为,相当于子类覆盖父类的部分实现方法。 对于对象适配器,要重定义Adaptee的行为比较困难,这种情况下,需要定义Adaptee的子类来实现重定义,然后让
11、适配器组合子类。虽然重定义Adaptee的行为比较困难,但是想要增加一些新的行为则方便的很,而且新增加的行为可同时适用于所有的源。对于类适配器,仅仅引入了一个对象,并不需要额外的引用来间接得到Adaptee。 对于对象适配器,需要额外的引用来间接得到Adaptee。建议尽量使用对象适配器的实现方式,多用合成/聚合、少用继承。当然,具体问题具体分析,根据需要来选用实现方式,最适合的才是最好的。适配器模式的优点 更好的复用性系统需要使用现有的类,而此类的接口不符合系统的需要。那么通过适配器模式就可以让这些功能得到更好的复用。 更好的扩展性在实现适配器功能的时候,可以调用自己开发的功能,从而自然地扩
12、展系统的功能。适配器模式的缺点过多的使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是A接口,其实内部被适配成了B接口的实现,一个系统如果太多出现这种情况,无异于一场灾难。因此如果不是很有必要,可以不使用适配器,而是直接对系统进行重构。七、组内打分组号姓名学号班级作业成绩(百分制)3杨现阳计应四班 90张泽浩计应四班90张金庚计应四班80张俊超计应四班80杨 波计应四班80王秋波计应四班80八、指导教师评分注:纸质版实验报告编辑后打印,以组为单位交给学习委员,以班为单位交给老师成绩: (百分制)指导教师: 张 浩 信息与管理科学学院计算机科学系实验报告课程名称: 软件开发生
13、命周期与建模 实验名称: 【实验4】桥接模式(模拟毛笔系统) 姓 名: 杨现阳,张泽浩,张金庚,张俊超,杨波,王秋波 组号: 3 班级:2014级计应4班 指导教师: 张 浩 实 验 室: 兰亭机房2 日 期: 2016年05月25日一、实验目的 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为接口(Interface)模式。了解桥接模式的结构与四类角色,掌握桥接模式结构的实际应用。通过桥接模式实验,进一步理解桥接模式是如何分离抽象接口及其实现部分,是如何实现细节对客户透明,以及如何利用合成复用原则实现比继承方案更好
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 生命周期 建模 实验 报告 桥接 适配器 仿生 机器人 模拟 毛笔 系统 资料 20
链接地址:https://www.taowenge.com/p-16687532.html
限制150内