JavaBeans程序开发_MySQL

Jun 01, 2016 pm 02:06 PM
public 属性 プログラム開発

JavaBeans程序开发

  

  JavaBeans的属性

  JavaBeans的属性与一般Java程序中所指的属性,或者说与所有面向对象的程序设计语言中对象的属性是一个概念,在程序中的具体体现就是类中的变量。在JavaBeans设计中,按照属性的不同作用又细分为四类:Simple, Index, Bound与Constrained属性。

  1. Simple属性

  一个简单属性表示一个伴随有一对get/set方法(C语言的过程或函数在Java程序中称为"方法")的变量。属性名与和该属性相关的get/set方法名对应。例如:如果有setX和getX方法,则暗指有一个名为"X"的属性。如果有一个方法名为isX,则通常暗指"X"是一个布尔属性(即X的值为true或false)。例如在下面这个程序中:

  public class alden1 extends Canvas {
  string ourString= "Hello"; //属性名为ourString,类型为字符串
  public alden1(){     //alden1()是alden1的构造函数,
  与C++中构造函数的意义相同
  setBackground(Color.red);
  setForeground(Color.blue);
  }
  /* "set"属性*/
  public void setString(String newString) {
  ourString=newString;
  }
  /* "get"属性 */
  public String getString() {
  return ourString;
  }
  }

   2. Indexed属性

  一个Indexed属性表示一个数组值。使用与该属性对应的set/get方法可取得数组中的数值。该属性也可一次设置或取得整个数组的值。例:

  public class alden2 extends Canvas {
  int[] dataSet={1,2,3,4,5,6}; // dataSet是一个indexed属性
  public alden2() {
  setBackground(Color.red);
  setForeground(Color.blue);
  }
  /* 设置整个数组 */
  public void setDataSet(int[] x){
  dataSet=x;
  }
  /* 设置数组中的单个元素值 */
  public void setDataSet(int index, int x){
  dataSet[index]=x;
  }
  /* 取得整个数组值 */
  public int[] getDataSet(){
  return dataSet;
  }
  /* 取得数组中的指定元素值 */
  public int getDataSet(int x){
  return dataSet[x];
  }
  }

  3. Bound属性

  一个Bound属性是指当该种属性的值发生变化时,要通知其它的对象。每次属性值改变时,这种属性就点火一个PropertyChange事件(在Java程序中,事件也是一个对象)。事件中封装了属性名、属性的原值、属性变化后的新值。这种事件是传递到其它的Beans,至于接收事件的Beans应做什么动作由其自己定义。当PushButton的background属性与Dialog的background属性bind时,若PushButton的background属性发生变化时,Dialog的background属性也发生同样的变化。 例:

  public class alden3 extends Canvas{
  String ourString= "Hello";
  //ourString是一个bound属性
  private PropertyChangeSupport changes = new PropertyChangeSupport(this);
  /** 注:Java是纯面向对象的语言,
  如果要使用某种方法则必须指明是要使用哪个对象的方法,
  在下面的程序中要进行点火事件的操作,
  这种操作所使用的方法是在PropertyChangeSupport类中的。
  所以上面声明并实例化了一个changes对象,
  在下面将使用changes的firePropertyChange方法来点火ourString的属性改变事件。*/

  public void setString(string newString){
  String oldString = ourString;
  ourString = newString;
  /* ourString的属性值已发生变化,于是接着点火属性改变事件 */
  changes.firePropertyChange("ourString",oldString,newString);
  }
  public String getString(){
  return ourString;
  }
  /** 以下代码是为开发工具所使用的。
  我们不能预知alden3将与哪些其它的Beans组合成为一个应用,
  无法预知若alden3的ourString属性发生变化时有哪些其它的组件与此变化有关,
  因而alden3这个Beans要预留出一些接口给开发工具,
  开发工具使用这些接口,
  把其它的JavaBeans对象与alden3挂接。*/

  public void addPropertyChangeListener(PropertyChangeLisener l){
  changes.addPropertyChangeListener(l);
  }
  public void removePropertyChangeListener(PropertyChangeListener l){
  changes.removePropertyChangeListener(l);
  }

  通过上面的代码,开发工具调用changes的addPropertyChangeListener方法,把其它JavaBeans注册入ourString属性的监听者队列l中,l是一个Vector数组,可存储任何Java对象。

  开发工具也可使用changes的removePropertyChangeListener方法,从l中注销指定的对象,使alden3的ourString属性的改变不再与这个对象有关。

  当然,当程序员手写代码编制程序时,也可直接调用这两个方法,把其它Java对象与alden3挂接。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SyntaxErrorを発生させずにPythonで整数リテラルプロパティを取得する方法は? SyntaxErrorを発生させずにPythonで整数リテラルプロパティを取得する方法は? Aug 20, 2023 pm 07:13 PM

SyntaxError の代わりに intliteral 属性を取得するには、スペースまたは括弧を使用します。intliteral は Python の数値リテラルの一部です。数値リテラルには、次の 4 つの異なる数値型も含まれます。int(signed integers) - これらは、単に整数または整数と呼ばれることが多く、正の値です。

JavaでGsonを使用してJSONのプロパティの名前を変更するにはどうすればよいですか? JavaでGsonを使用してJSONのプロパティの名前を変更するにはどうすればよいですか? Aug 27, 2023 pm 02:01 PM

Gson@SerializedName アノテーションは JSON にシリアル化でき、指定された名前の値をフィールド名として持つことができます。このアノテーションは、Gson インスタンスに設定されているデフォルトのフィールド命名ポリシーを含む、あらゆる FieldNamingPolicy をオーバーライドできます。 GsonBuilder クラスを使用して、さまざまな命名戦略を設定できます。構文@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedNameExample importcom.google.gson.annotations.*;

Python の dir() 関数: オブジェクトのプロパティとメソッドを表示する Python の dir() 関数: オブジェクトのプロパティとメソッドを表示する Nov 18, 2023 pm 01:45 PM

Python の dir() 関数: オブジェクトのプロパティとメソッドを表示します。特定のコード サンプルが必要です。 要約: Python は強力で柔軟なプログラミング言語であり、その組み込み関数とツールは開発者に多くの便利な機能を提供します。非常に便利な関数の 1 つは dir() 関数です。これを使用すると、オブジェクトのプロパティとメソッドを表示できます。この記事では、 dir() 関数の使用法を紹介し、具体的なコード例を通じてその機能と使用法を示します。テキスト: Python の dir() 関数は組み込み関数です。

iOS の開発者バージョンとパブリック バージョンの違いは何ですか? iOS の開発者バージョンとパブリック バージョンの違いは何ですか? Mar 01, 2024 pm 12:55 PM

毎年、Apple が iOS と macOS の新しいメジャー バージョンをリリースする前に、ユーザーは数か月前にベータ版をダウンロードして最初に体験することができます。同ソフトウェアは一般ユーザーと開発者の両方が使用するため、Appleは開発者向けベータ版のパブリックベータ版である開発者版とパブリック版を両方向けに開始した。 iOS の開発者バージョンとパブリック バージョンの違いは何ですか?文字通りに言うと、開発者バージョンは開発者テスト バージョンであり、パブリック バージョンは公開テスト バージョンです。開発者バージョンとパブリック バージョンは、異なるユーザーを対象としています。開発者バージョンは、Apple が開発者によるテストのために使用します。ダウンロードしてアップグレードするには、Apple 開発者アカウントが必要です。

Win11 ディスクのプロパティが不明な場合の対処方法 Win11 ディスクのプロパティが不明な場合の対処方法 Jul 03, 2023 pm 04:17 PM

Win11のディスクプロパティが不明な場合はどうすればよいですか?最近、Win11 ユーザーは、コンピュータを使用しているときにシステムによってディスク エラーが発生していることに気付きました。何が起こっているのでしょうか?そしてそれをどうやって解決するのでしょうか?詳細な操作方法を知らない友人も多いと思いますが、Win11 のディスク エラーを解決する手順をエディターが以下にまとめましたので、興味がある方はエディターをフォローして以下をお読みください。 Win11 ディスク エラーを解決する手順 1. まず、キーボードの Win+E キーの組み合わせを押すか、タスクバーのファイル エクスプローラーをクリックします; 2. ファイル エクスプローラーの右側のサイドバーで、側面を見つけてローカル ファイルを右クリックしますディスク (C:)、開いたメニュー項目で [プロパティ] を選択します; 3. ローカル ディスク (C:) の [プロパティ] ウィンドウ、[ツール] に切り替えます。

CSSのbottom属性構文 CSSのbottom属性構文 Feb 21, 2024 pm 03:30 PM

CSS の Bottom 属性の構文とコード例 CSS では、bottom 属性は要素とコンテナの下部の間の距離を指定するために使用されます。親要素の下部を基準とした要素の位置を制御します。ボトム属性の構文は次のとおりです: element{bottom:value;} ここで、element はスタイルが適用される要素を表し、value は設定されるボトム値を表します。 value にはピクセルなどの特定の長さの値を指定できます

Vue.set関数を使用して属性を動的に追加する方法と例 Vue.set関数を使用して属性を動的に追加する方法と例 Jul 24, 2023 pm 07:22 PM

Vue.set 関数を使用してプロパティを動的に追加する方法と例 Vue では、既存のオブジェクトにプロパティを動的に追加する場合、通常は Vue.set 関数を使用します。 Vue.set 関数は Vue.js によって提供されるグローバル メソッドであり、プロパティを追加するときに確実に応答性の高い更新を行うことができます。この記事では、Vue.set の使用方法を紹介し、具体的な例を示します。まず、Vue では通常、data オプションを使用してレスポンシブ データを宣言します。

ハースストーンの絶望の糸の属性の紹介 ハースストーンの絶望の糸の属性の紹介 Mar 20, 2024 pm 10:36 PM

絶望の糸はBlizzard Entertainmentの名作『ハースストーン』に登場するレアカードで、カードパック「ウィズベインのワークショップ」で入手できるチャンスがあります。 100/400の秘術ダストポイントを消費して、ノーマル/ゴールドバージョンを合成できます。ハースストーンの絶望の糸の属性の紹介: ウィズベインのワークショップ カード パックで確率で入手できるか、秘術の粉塵を通じて合成することもできます。レアリティ:レア 種類:呪文 クラス:デスナイト マナ:1 効果:すべてのミニオンに断末魔を与える:すべてのミニオンに1ダメージを与える

See all articles