程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 寫bean類的准則(1)

寫bean類的准則(1)

編輯:JAVA編程入門知識

  一般要求

  首先,您必須有一個不帶有參數的公用構造器。此構造器也應該通過調用各個特性的設置方法來設置特性的缺省值,例如:
  
  public Fireworks()
  
  {
  
  setAutoStart(true);
  
  setBackground(Color.black);
  
  setSpeed(10);
  
  setRadius(40);
  
  .
  
  .
  
  .}
  
  假如 bean 是一個從 Java.awt.Component 類繼續而來的可視 bean,您就應該為 bean 定義一個缺省的首選大小,例如: public Dimension getPreferredSize()
  
  {
  
  return (new Dimension(radius*3, radius*3));
  
  }
  
  public Dimension getMinimumSize()
  
  {
  
  return getPreferredSize();
  
  }

  特性

  對於您需要的每個特性,您應該有一個帶有匹配公用 getter 和 setter 方法的專用實例變量,例如:
  
  private int speed;
  
  .
  
  .
  
  .
  
  public int getSpeed()
  
  {
  
  return speed;}
  
  public void setSpeed(int s)
  
  {speed = s;
  
  }
  
  此 get 和 set 方法必須有與實例變量相同的名稱,但是第一個字母要大寫並以 get 和 set 開頭。
  
  由於連接而在任何時候更改它們的特性時,確認 Bean 在運行時行為正確也是很重要的。假如特性的更改影響到 Bean 的可視外觀,您應該以此特性設置的方法來調用repaint();。
  
  同樣,假如特性的更改影響到 bean 的大小和位置,您需要確認獲得驗證的事物。我們建議編寫您自己的 validateAll 方法,如下所示:
  
  private void validateAll()
  
  {
  
  if (isValid())
  
  {Component self = this;
  
  self.invalidate();
  
  Component myParent = self.getParent();
  
  if (myParent != null)
  
  {myParent.invalidate();
  
  self = myParent;
  
  }
  
  self.validate();
  
  }}
  
  然後以此特性設置的方法調用validateAll();。
  
  bean 類將無法進行關於調用特性設置方法命令的假設。您應該寫 bean 以便可以初始構造它,然後在不引起錯誤的同時在任何命令中設置其特性。
  
  操作

  對於每個您需要的操作,您應該有一個公用方法,例如:
  
  public void start()
  
  {if(thread==null)
  
  {thread=new Thread(this);
  
  thread.start();
  
  }}
  
  您為操作寫的方法應該在無須期待用戶創建連接或設置很多特性的情況下獨立操作。 例如,假如您寫了一個音頻 Bean,您希望通過播放操作處理打開聲音的所有步驟、完成您需要的所有設置並播放聲音。同樣,即使聲音未播放,停止操作也應起作用。
  
  事件

  對於您需要的每個事件或事件設置,您應該定義事件和偵聽器類。對於此例,查看 FireworksEvent.java 源文件以及 Fireworks.java 文件。此事件類的源應該如同這樣:
  
  import java.awt.*;
  
  import java.util.*;
  
  public class FireworksEvent extends EventObject
  
  {public static final int EXPLODED = 1;
  
  int id = 0;
  
  public FireworksEvent(Component source, int id)
  
  {super(source);
  
  this.id = id;
  
  }
  
  public int getID()
  
  {return id;
  
  }}
  
  您應該為此事件設置中的每個事件定義一個公用靜態結束事件標識符,例如在此例子中的 EXPLODED。
  
  對於偵聽器類的源,查看 FireworksListener.java 源文件:
  
  import java.util.*;
  
  public interface FireworksListener extends EventListener
  
  {
  
  public abstract void exploded(FireworksEvent e);
  
  }
  
  您應該為此事件設置中的每個事件定義一個公用抽象方法,例如在此例子中的 exploded。 而且,偵聽器類必須擴展 EventListener ,以使 JAR 向導能夠找到它。 QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南

  一般要求

  首先,您必須有一個不帶有參數的公用構造器。此構造器也應該通過調用各個特性的設置方法來設置特性的缺省值,例如:
  
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved