《第八章组件介绍(精品).ppt》由会员分享,可在线阅读,更多相关《第八章组件介绍(精品).ppt(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章 组件介绍组件介绍8.1 组件定义组件定义无需更改的、有用的软件的集合。无需更改的、有用的软件的集合。组件能够生成实例,并且这些实例是可以更改的。组件能够生成实例,并且这些实例是可以更改的。你可以把组件理解成为童年时玩的积木,而把用组件搭起来的软件则可以理解你可以把组件理解成为童年时玩的积木,而把用组件搭起来的软件则可以理解成为你用积木搭的形状各异的作品。成为你用积木搭的形状各异的作品。为什么用组件搭建应用程序会比其他方法制作应用程序更加稳定和快速为什么用组件搭建应用程序会比其他方法制作应用程序更加稳定和快速?软件的设计目标之一:软件的设计目标之一:可重用性可重用性因为软件的组件是
2、可重用的因为软件的组件是可重用的(经过了很多应用程序的测试经过了很多应用程序的测试),所以当你用它的时候,所以当你用它的时候出错的概率肯定比你自己重新写一个同样功能的模块的出错概率小。出错的概率肯定比你自己重新写一个同样功能的模块的出错概率小。8.2 组件的组成组件的组成对象管理组织对象管理组织(Object Management Group,OMG)组件的定义:组件的定义:系统中一种物理的、可代替的部件,它封装了实现并提供了一系列可用的接口。一个组件代表一个系统实现中的物理部分,包括源代码,二进制代码,可执行代码或者其他文件如:图像、文本等。组件可能由什么组成?1.源代码-类(一个或多个)2
3、.可执行代码-对象代码、虚拟对象代码3.其他文件-图像、文本、索引、脚本等组件提供的组件提供的组件的组成组件的组成 属性属性 方法方法 互动事件互动事件 提供自身相关信息提供自身相关信息类集合类集合其他资源其他资源清单清单组件的各个方面组件的各个方面组件识别组件识别组件原创组件原创组成组件的类组成组件的类组件所依赖的其他组件组件所依赖的其他组件信息编码信息编码当前组件的校验方法当前组件的校验方法版本号版本号组件清单组件清单三种组件三种组件模型模型(技术技术)的比较的比较CORBA/ORBActiveX/DCOM JavaBean EJB/RMI集成性集成性支持跨语言操作支持跨语言操作好好好好一
4、般一般支持跨平台操作支持跨平台操作好好一般一般好好网络通讯网络通讯好好一般一般好好公共服务构件公共服务构件好好一般一般好好可用性可用性事务处理事务处理好好一般一般一般一般消息服务消息服务一般一般一般一般一般一般安全服务安全服务好好一般一般好好目录服务目录服务好好一般一般一般一般容错性容错性一般一般一般一般一般一般产品成熟性产品成熟性一般一般一般一般一般一般软件开发商的支持度软件开发商的支持度一般一般 好好好好可扩展性可扩展性好好一般一般好好8.3 JavaBean是一个很成功的组件模型是一个很成功的组件模型JavaBean是在组件技术上对是在组件技术上对Java语言的扩展。语言的扩展。8.3.
5、1 JavaBean与与JavaJavaBean可以看成是一个黑盒子,即只需要知道其功能而不必管其内部结构可以看成是一个黑盒子,即只需要知道其功能而不必管其内部结构 的软件设备。如按钮、窗口等的软件设备。如按钮、窗口等 JavaBean和和Java Applet很相似,是遵循某种严格协议的很相似,是遵循某种严格协议的Java类。类。JavaBean的定义的定义:JavaBean是可复用的平台独立的软件组件,开发者可以在软件构造器工具是可复用的平台独立的软件组件,开发者可以在软件构造器工具 中对其直接进行可视化操作。中对其直接进行可视化操作。Web页面构造器、可视化应用程序构造器、页面构造器、可
6、视化应用程序构造器、GUI设计构造器、设计构造器、服务器应用程序构造器服务器应用程序构造器 8.3.2 一个一个JavaBean由由3部分组成:部分组成:1.属性属性(properties)属性在JavaBean中不只是传统的面向对象的概念里的属性,它同时还得到了属性读取和属性写入的API的支持。属性值可以通过调用适当的bean方法进行。如:可能bean有一个名字属性name调用StringgetName()方法读取调用voidsetName(Stringstr)的方法写入2.方法方法(method)JavaBean中的方法就是通常的Java方法。与普通类不同的是,采用调用实例方法并不是操作和
7、使用Bean的主要途径。Bean方法在Bean操作中降为辅助地位,因为两个高级Bean特性-属性和事件是与Bean交互作用的更好方式。Buttonb=newButton(“PressMe!”);b.addActionListener(newButtonHandler();如:3.事件事件(event)Bean与其他软件组件交流信息的主要方式是发送和接受事件。事件为JavaBean组件提供了一种发送通知给其他组件的方法。在AWT事件模型中,一个事件源可以注册事件监听器对象。当事件源检测到发生了某种事件时,它将调用事件监听器对象中的一个适当的事件处理方法来处理这个事件。如:classButtonH
8、andlerimplementsActionListener/实现接口ActionListener才能做事件ActionEvent的处理者publicvoidactionPerformed(ActionEvente)/系统产生的ActionEvent事件对象被当作参数传递给该方法System.out.println(“Actionoccurred”);/本接口只有一个方法,因此事件发生时,系统会自动调用本方法,/需要做的操作就把代码写在则个方法里。JavaBean1.0指定的组件模型规定了指定的组件模型规定了Bean的如下特征:的如下特征:(1)内省:内省:使组件可以发表其支持的操作和属性的机
9、制。java.beans.Introspector(2)属性:属性:在设计Bean时可以改变的外观和行为特征。getters和setters开发工具通过对Bean进行内省来获知其属性,进而发布其属性。(3)定制:定制:Bean通过发布其属性使其可以在设计时被定制。(4)通信:通信:Bean之间通过事件互相通信。开发工具可以检测一个Bean可以接收和引发的事件。(5)持续:持续:使Bean可以存储和恢复其状态。一个Bean的属性被修改以后,可以通过对象的持续化机制保存下来,并可以在需要的时候恢复。java.io.Serializable接口8.3.3 JSP中使用中使用javaBean的例子的例子 test.jsp的代码如下:JSP中使用JavaBean的测试消息:表示定义一个java bean的实例,实例的名称是test,类的名称是SimleBean。:表示设置实例test的属性message,其值是Hello JSP。:表示在页面中输出实例test的属性message的值。SimpleBean.javapublicclassSimpleBeanprivateStringmessage;publicStringgetMessage()returnmessage;publicvoidsetMessage(Stringmessage)this.message=message;