welcome: please sign in
location: "コンストラクタ"の差分
6と7のリビジョン間の差分
2008-10-28 01:26:35時点のリビジョン6
サイズ: 1612
編集者: masahiko
コメント:
2008-10-28 01:27:45時点のリビジョン7
サイズ: 1636
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
 . クラスはオブジェクトの状態と動作をサポートする。
 . オブジェクトの状態は属性の集まりとして表される。
 . オブジェクトの動作はメソッドで記述される。
 . クラスはオブジェクトの'''状態''''''動作'''をサポートする。
 . オブジェクトの状態は'''属性'''の集まりとして表される。
 . オブジェクトの動作は'''メソッド'''で記述される。

クラス

  • クラスはオブジェクトの状態動作をサポートする。

  • オブジェクトの状態は属性の集まりとして表される。

  • オブジェクトの動作はメソッドで記述される。

クラスの記述(プログラム)は次のような形式になる。 5つの項目があるが、必要なものだけ記述すればよい。

  •  修飾子 class クラス名
     {
         static変数の宣言
         属性の宣言
         コンストラクタの定義
         普通のメソッドの定義
         staticメソッドの定義
     }

コンストラクタ、普通のメソッド、staticメソッドをあわせてメソッドと言います。

static変数、staticメソッドについては後日解説します。


コンストラクタ

属性(の集まり)がインスタンスの型紙として使われました。

属性の宣言は変数の宣言と同じ書き方をしますが、ここに変数が取られるわけではありません。

  •    1  public class Card
       2  {
       3         String suit;
       4         int rank;
       5         
       6         public static void main(String[] args)
       7         {
       8                 Card a;                 
       9                 a = new Card();
      10                 a.suit = "ハート";
      11                 a.rank = 12;
      12         }
      13  }
    

この例では new Crad() が行われるとインスタンス(そのクラスのオブジェクト)が作られ、 a.suit、a.rankによって、そのインスタンスの属性にアクセスすることができました。

インスタンスを生成するときに使われる Card() のことをコンストラクタと言います。

コンストラクタ (最終更新日時 2010-11-08 01:56:04 更新者 masahiko)