补充 java 语言程序设计-李兴芝 第14章 java Bean组件模型

            14.1 软件组件模型

                    软件组件是分离的、可重用的软件部分,可以方便的将其装配以创建各种应用程序,提高了开发效率

                   JavaBeans技术是一种跨体系结构和平台的API,用于创建动态Java软件组件

                    软件组件大致可以分为两类:

                   可视化软件组件     :例如 按钮

                   非可视化软件组件 :例如 定时器

                   组件模型还负责提供下列服务

                   自检;

                   事件处理;

                   持久化;

                   布局;

                   应用程序生成器支持;

        14.2 javaBean概述

                   JavaBean是可以复用的平台中立的软件组件,是一组用于构建可重用组件的Java类库。可以将一组

                   JavaBean装配成应用程序或Applet

                  一个JavaBean由三部分组成:属性、方法和事件

                 1.属性(proterty):通常是组件对象中的私有数据成员,外界不能够直接访问,需要通过专门的访问(accessor)方法才能访问

                                                 负责读取的accessor方法称为getter方法,负责写入的accessor方法称为setter方法。

                                                 public String getName();

                                                 public void setName(String value);

                      javabean

                2.方法(method)

                3.事件(event)

          14.3 javaBean的特性

                 1. 内省(introspection)

                                              是组件可以向外界暴露其支持的方法,事件和属性的机制,也是支持在程序构建工具中发现其方法、事件和属性的机制。

                                              组件模型通过两种方式支持内省:

                                            1)命名模式(Design Pattern),在对Bean的属性,事件,方法等特性命名的时候遵循一定的设计模式,这样,依赖于

                                                  Java的反射API 中的Introspector类就能够识别出Bean的特性。

                                            2)BeanInfo类,是一个实现了接口BeanInfo的类,在其中列出了Bean向外界暴露的方法,属性和事件

                2.属性(Properties)

                                            Bean的内部状态、外观和行为特征,在设计时可以改变。程序设计工具可以通过Bean的内省机制来发现。

                3.定制(Customization)

                                             Bean通过发布其属性使其可以在设计时被定制。有两种方式实现定制:属性编辑器和Bean定制器。

                4.通信(Communication)

                                             Beans之间通过事件进行交互,一个Bean通过向另一个Bean注册,能够接受它感兴趣的事件。程序构建工具可以检测到一个

                                             Bean可以接受和发送的事件。

                5.持续(Persistence)

                                             使Bean可以存储和恢复其状态。一个Bean的属性被修改后,能够通过对象的持续化机制保存下来,并可以在需要的时候恢复

           14.4 javaBean的属性

                                   4.1     属性的类型分为

                                                   简单

                                                   索引

                                                   绑定

                                                   限制属性。

                                                  一个属性可以属于多个类型,例如,限制属性还应为绑定属性。

                                                        简单属性是指对象内部的简单变量,它表示一个单独的值,并且通过getter方法和setter方法的组合进行读取和设置。

                                                        用于访问简单属性的命名模式如下:

                                                              public T getN();

                                                              public void setN(T value);

                                                                      其中,T是属性的类型,N是属性的名称。如下面的代码:

                                                              public String getName();

                                                              public void setName(String s)

                                  4.2      索引属性是用于处理数组及其单个元素的属性,它包含类型相同的元素。可通过整型下标访问这些元素,因此它们成为索引属性。

                                                              public T getN (int index);

                                                              public T[ ] getN( );

                                                              public void setN(int index, T value);

                                                              public void setN(T values[ ]);

                                  4.3       绑定属性是在被修改时向其它对象提供通知的属性。绑定属性需要向Bean注册外部监听器,一旦修改绑定属性的值,

                                               监听器就会得到通知。

                                               具有绑定属性的Bean应支持事件监听器的注册方法,注册监听器的方法采用实现PropertyChangeListener接口的对象作为其唯一

                                               参数。

                                                          public void addPropertyChangeListener(PropertyChangeListener l)

                                                          public void removePropertyChangeListener(PropertyChangeListener l)

                                                        bdsx

原文地址:https://www.cnblogs.com/elite-2012/p/3150681.html