0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java勉強メモ5_クラスとオブジェクト

Last updated at Posted at 2024-01-17

クラスとオブジェクト

クラスの定義

クラスはオブジェクトの設計図です。クラスを定義することで、オブジェクトの属性(フィールド)と振る舞い(メソッド)を指定します。

1.構造

フィールド(Fields): オブジェクトの特性を表します。例えば、車のクラスには色や速度などが含まれます。
メソッド(Methods): オブジェクトが実行できるアクションを定義します。例えば、車が加速する動作など。
コンストラクタ(Constructors): クラスからオブジェクトを作成するための特別なメソッドです。オブジェクトの初期化に使われます。

public class Car {
    String color;  // フィールド
    int speed;     // フィールド

    // コンストラクタ
    Car(String c, int s) {
        color = c;
        speed = s;
    }

    // メソッド
    void accelerate(int amount) {
        speed += amount;
    }
}

2. オブジェクトの生成

クラスからオブジェクトを生成するには、newキーワードと共にコンストラクタを呼び出します。

Car myCar = new Car("Red", 0);  // Carオブジェクトの生成

3. メソッドとフィールド

フィールド: オブジェクトの状態を保存します。例えば、colorフィールドは車の色を保持します。
メソッド: オブジェクトに対して実行できるアクションです。accelerate()メソッドは車の速度を増加させます。

myCar.accelerate(10);  // myCarの速度を10増加させる
System.out.println(myCar.speed);  // 現在の速度を表示

4. コンストラクタ

オブジェクトを作成する際に呼び出される特別なメソッドです。オブジェクトの初期状態を設定するために使用されます。

Car(String color, int speed) {
    this.color = color;
    this.speed = speed;
}

5. 継承とポリモーフィズム

継承

一つのクラス(親クラス)の特性を他のクラス(子クラス)が引き継ぐことです。
コードの再利用性を高め、構造を整理します。

ポリモーフィズム

異なるクラスのオブジェクトが同じインターフェースを共有することを指します。
メソッドのオーバーロード(同じメソッド名で異なるパラメータリスト)やオーバーライド(子クラスが親クラスのメソッドを再定義)を通じて実現されます。

継承の例

public class Vehicle {
    void move() {
        System.out.println("移動する");
    }
}

public class Car extends Vehicle {
    @Override
    void move() {
        System.out.println("車が移動する");
    }
}

ポリモーフィズムの例

Vehicle myVehicle = new Car();
myVehicle.move(); // "車が移動する" が出力される
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?