クラスとインスタンス

(教科書11章)

クラス宣言

public class クラス名 {
    フィールドの宣言
    メソッドの宣言
}

拡張クラス宣言

class MyThead extends Thread {
 ...
}

インタフェースを実装したクラスの宣言

class MyRunner implements Runnable {
 ...
}

フィールドとメソッド

List 11-1

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
-
|
|
-
|
|
!
-
|
!
!
class Rectangle {
    int width;
    int height;
    void setSize(int w, int h){
        width = w;
        height = h;
    }
    int getArea() {
        return width * height;
    }
}

インスタンスの作り方

Rectangle r = new Rectangle();

フィールドへのアクセス

Rectangle r = new Rectangle();
r.width = 123;
r.height = 45;
System.out.println("幅は" + r.width);
System.out.println("高さは" + r.heigth);

メソッドの呼び出し

Rectangle r = new Rectangle();
r.setSize(123, 45);

コンストラクタの利用

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
-
|
|
|
-
|
!
|
-
|
|
!
|
-
|
!
!
class Rectangle {
    int width;
    int height;
 
    Rectangle(int w, int h){
        setSize(w, h);
    }
 
    void setSize(int w, int h){
        width = w;
        height = h;
    }
 
    int getArea() {
        return width * height;
    }
}

コンストラクタがある場合:

Rectangle r = new Rectangle(123, 45);

List 11-7 (教科書20ページ)

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
-
|
|
|
-
|
!
|
-
|
!
|
-
|
|
!
|
-
|
!
|
-
|
|
|
|
|
|
|
|
!
!
class Rectangle {
    int width;
    int height;
 
    Rectangle(){
        setSize(10, 20);
    }
 
    Rectangle(int w, int h){
        setSize(w, h);
    }
 
    void setSize(int w, int h){
        width = w;
        height = h;
    }
 
    int getArea() {
        return width * height;
    }
    
    public static void main(String[] args){
        Rectangle r1 = new Rectangle();
        System.out.println("r1.width = " + r1.width);
        System.out.println("r1.height = " + r1.height);
        System.out.println("r1.getArea() = " + r1.getArea());
        Rectangle r2 = new Rectangle(123, 45);
        System.out.println("r2.width = " + r2.width);
        System.out.println("r2.height = " + r2.height);
        System.out.println("r2.getArea() = " + r2.getArea());
    }
}

クラスフィールドとクラスメソッド

  • クラスフィールド
  • クラス変数
  • スタティックフィールド
Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
-
|
|
|
|
|
-
|
|
|
!
|
-
|
|
|
!
|
-
|
|
!
|
-
|
!
|
-
|
!
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
!
class Rectangle {
    static int counter = 0;
    int width;
    int height;
    int number;
 
    Rectangle(){
        setSize(10, 20);
    number = counter;
    counter++;
    }
 
    Rectangle(int w, int h){
        setSize(w, h);
    number = counter;
    counter++;
    }
 
    void setSize(int w, int h){
        width = w;
        height = h;
    }
 
    int getArea() {
        return width * height;
    }
 
    public String toString(){
        return "幅= " + width + " 高さ= "+ height + "だよ";
    }
 
    public static void main(String[] args){
        Rectangle r1 = new Rectangle();
        System.out.println("r1.width = " + r1.width);
        System.out.println("r1.height = " + r1.height);
        System.out.println("r1.getArea() = " + r1.getArea());
        System.out.println("r1.number = " + r1.number);
        System.out.println("r1.counter = " + r1.counter);
        Rectangle r2 = new Rectangle(123, 45);
        System.out.println("r2.width = " + r2.width);
        System.out.println("r2.height = " + r2.height);
        System.out.println("r2.getArea() = " + r2.getArea());
    System.out.println("r2.number = " + r2.number);
        System.out.println("r2.counter = " + r2.counter);
 
        System.out.println("r1.number = " + r1.number);
        System.out.println("r1.counter = " + r1.counter);
 
        System.out.println(r1);
        System.out.println(r2);
 
    }
}

toString()メソッド

そのクラスのインスタンスの標準的な文字列表現を定めます.

Expand allFold all
  1
  2
  3
  4
  5
  6
-
|
-
|
!
!
class Rectangle{
    ...
    public String toString(){
        return "[ width = " + width + ", height = " + height + "]";
    }
}

以下のように記述する.

Rectangle r = new Rctangle(123, 45);
System.out.println(r);

以下のように表示される.

width= 123, height = 45

r.toStringメソッドを呼び出すと,戻り値の文字列をそのインスタンスの文字列表現として扱う.

ソフトウェア基礎演習IIのセッティング



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-20 (木) 14:45:23 (2285d)