一个Bean 就是一个类。我们不必为制造任何的Bean而编写一些特殊的代码或者使用特殊的编程语言。事实上,我们唯一需要做的是略微地修改我们对我们方法命名的办法。方法名通知应用程序构建工具是否是一个属性,一个事件或是一个普通的方法。

在Java 的文件中,命名规则被错误地曲解为“设计范式”。这十分的不幸,因为设计范式惹来不少的麻烦。命名规则不是设计范式,它是相当的简单:

(1) 因为属性被命名为xxx,我们代表性的创建两个方法:getXxx()和setXxx()。注意get 或set 后的第一个字母大写以产生属性名。“get”和“set”方法产生同样类型的自变量。“set”和“get”的属性名和类型名之间没有关系。

(2) 对于布尔逻辑型属性,我们可以使用上面的“get”和“set”方法,但我们也可以用“is”代替“ get”。

(3) Bean 的普通方法不适合上面的命名规则,但它们是公用的。

(4) 对于事件,我们使用“listener(接收器)”方法。这种方法完全同我们看到过的方法相同:

(addFooBarListener(FooBarListener)和removeFooBarListener(FooBarListener)方法用来处理FooBar 事件。大多数时候内建的事件和接收器会满足我们的需要,但我们可以创建自己的事件和接收器接口。

上面的第一点回答了一个关于我们可能注意到的从Java 1.0 到Java 1.1 的改变的问题:一些方法的名字太过于短小,显然改写名字毫无意义。现在我们可以看到为了制造Bean 中的特殊的组件,大多数的这些修改不得不适合于“get”和“set”命名规则。

Bean代码示例:

 1 //: Frog.java
 2 // A trivial Java Bean
 3 package frogbean;
 4 import java.awt.*;
 5 import java.awt.event.*;
 6 class Spots {}
 7 public class Frog {
 8 private int jumps;
 9 private Color color;
10 private Spots spots;
11 private boolean jmpr;
12 public int getJumps() { return jumps; }
13 public void setJumps(int newJumps) {
14 jumps = newJumps;
15 }
16 public Color getColor() { return color; }
17 public void setColor(Color newColor) {
18 color = newColor;
19 }
20 public Spots getSpots() { return spots; }
21 public void setSpots(Spots newSpots) {
22 spots = newSpots;
23 }
24 public boolean isJumper() { return jmpr; }
25 public void setJumper(boolean j) { jmpr = j; }
26 public void addActionListener(
27 ActionListener l) {
28 //...
29 }
30 public void removeActionListener(
31 ActionListener l) {
32 // ...
33 }
34 public void addKeyListener(KeyListener l) {
35 // ...
36 }
37 public void removeKeyListener(KeyListener l) {
38 // ...
39 }
40 // An "ordinary" public method:
41 public void croak() {
42 System.out.println("Ribbet!");
43 }
44 } //
View Code

相关文章:

  • 2021-10-14
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2021-08-21
  • 2021-08-26
  • 2021-04-09
  • 2021-11-22
猜你喜欢
  • 2021-09-08
  • 2021-08-21
  • 2021-10-22
  • 2022-12-23
  • 2021-05-08
  • 2022-12-23
  • 2021-11-09
相关资源
相似解决方案