== クラス == . クラスはオブジェクトの'''状態'''と'''動作'''をサポートする。 . オブジェクトの状態は'''属性'''の集まりとして表される。 . オブジェクトの動作は'''メソッド'''で記述される。 クラスの記述(プログラム)は次のような形式になる。 5つの項目があるが、必要なものだけ記述すればよい。 {{{ 修飾子 class クラス名 { static変数の宣言 属性の宣言 コンストラクタの定義 普通のメソッドの定義 staticメソッドの定義 } }}} コンストラクタ、普通のメソッド、staticメソッドをあわせてメソッドと言います。 static変数、staticメソッドについては後日解説します。 ---- === コンストラクタ === 属性(の集まり)がインスタンスの型紙として使われました。 属性の宣言は変数の宣言と同じ書き方をしますが、ここに変数が取られるわけではありません。 {{{#!java public class Card { String suit; int rank; public static void main(String[] args) { Card a; a = new Card(); a.suit = "ハート"; a.rank = 12; } } }}} この例では new Crad() が行われるとインスタンス(そのクラスのオブジェクト)が作られ、 a.suit、a.rankによって、そのインスタンスの属性にアクセスすることができました。 インスタンスを生成するときに使われる Card() のことをコンストラクタと言います。 . コンストラクタはクラスと同じ名前です。 . コンストラクタを呼び出すときは前に new をつけます。 . コンストラクタが呼び出されるとインスタンスが作成されます。