////////////////////////////////////////////////////////////////////////////////
//  << bean131.java >>
//
//  Bean(0):概説
//
//  再利用できるプログラムをコンポーネント(部品)という。
//  Javaでは、JavaBeansという仕様にしたがって、コンポーネントを作成することに
//  なっている。作成されたコンポーネントは、Beanと呼ばれる。
//
//  ・Beanは、単体で実行できない。
//
// ●JavaBeansの主な仕様
//  (1) Serializableインターフェースを実装する。
//    保存・復元を行わない場合には省略できる。
//  (2) public指定の引数なしのコンストラクタを持つ。
//  (3) フィールドには、private指定する。
//     JavaBeansでは、private指定されたフィールドをプロパティと呼ぶ。
//  (4) プロパティを設定したり参照したりするために、決められたメソッドを使う。
//     プロパティから値を取得するメソッド名は、getプロパティ名となる。
//    ただし、プロパティ名の先頭1文字は大文字とする。
//     プロパティに値を設定するメソッド名は、setプロパティ名となる。
//    ただし、プロパティ名の先頭1文字は大文字とする。
//    (5) サーブレット、JSPでは、Beanはパッケージに入れてよく使われる。
//        たとえば、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\beans\bean131.java
//
// ●起動法
//  Beanは、beansパッケージに入れる。
//  (1)Javaファイル(bean131.java)をコンパイルし、classファイル
//    (bean131a.class)を作成する。
//       ただし、Javaファイル(bean131.java)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\beans\bean131.java
//     classファイル(bean131.class)は、
//       %CATALINA_HOME%\webapps\SV\WEB-INF\classes\beans\bean131.class
//       に保存する。
//
////////////////////////////////////////////////////////////////////////////////

import java.io.*;

public class bean131 implements Serializable {

  // プロパティの設定。                        
  private int num;
                                               
  // 引数なしのコンストラクタ。                
  public bean131() { num = 0; }
                                               
  // setNumの定義。                           
  public void setNum(int n) { num = n; }                                   

  // getNumの定義。                           
  public int getNum() { return num; }

  // executeの定義。                           
  public void execute() { num = 2 * num; }
}