English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java フローコントロール

Java 配列

Java オブジェクト指向(I)

Java オブジェクト指向(II)

Java オブジェクト指向(III)

Java 異常処理

Java リスト(List)

Java Queue(キュー)

Java Mapコレクション

Java Setコレクション

Java Input Output(I/O)

Java Reader/Writer

Javaの他のトピック

Java クラスとオブジェクト

このチュートリアルでは、Javaのオブジェクト指向プログラミングを学び、サンプルの助けによりJavaのクラスとオブジェクトを学びます。

Javaはオブジェクト指向のプログラミング言語です。それはオブジェクトの概念に基づいています。

これらのオブジェクトには2つの特徴があります:

  • 状態(フィールド)

  • 動作(メソッド)

例えば、

  1. ライトはオブジェクトです
    状態:明るいまたは暗い
    動作:ライトをオンまたはオフ

  2. オートバイはオブジェクトです
    状態現在のギア、2車輪がギアの数など
    動作ブレーキ加速、ギアを変更など

オブジェクト指向プログラミングの原理:

 オブジェクト指向プログラミングの重点は、フィールド(データを格納)とメソッド(フィールドに対する操作)を含むオブジェクトに複雑なプログラミングタスクを分解することです。

Javaクラス

Javaでオブジェクトを作成する前に、クラスを定義する必要があります。クラスはオブジェクトの青写真です。

クラスは家の設計図(原形)と考えています。それは床、ドア、窓などのすべての詳細を含んでいます。これらの説明に基づいて、家を建てます。家はオブジェクトです。

同じ説明を使って多くの家を作成できるので、クラスを使って多くのオブジェクトを作成できます。

Javaでクラスをどう定義するか?

Javaでクラスを定義する方法を見てみましょう:

class ClassName {
   // 属性
   // メソッド
}

例えば、

class Lamp {
  //インスタンス変数
  private boolean isOn;
  // メソッド
  public void turnOn() {
    isOn = true;
  }
  // メソッド
  public void turnOff() {
  	isOn = false;
  }
}

ここでは、Lampという名前のクラスを作成しました。

 このクラスにはisOnという変数とturnOn()とturnOff()という2つのメソッドがあります。クラスで定義されたこれらの変数とメソッドは、クラスのメンバーを使用して、

上記の例では、キーワードprivateとpublicを使用しました。これらはアクセス修飾子と呼ばれます。さらに詳しく知りたい場合は、以下にアクセスしてくださいJava アクセス修飾子を使用して、

Javaオブジェクト

オブジェクトはクラスのインスタンスと呼ばれます。例えば、Animalがクラスの場合、Cat、Dog、HorseなどはAnimalクラスのオブジェクトとして視されます。

これはJavaでオブジェクトを作成する方法です:

className object = new className();

 ここでは、コンストラクタclassName()を使ってオブジェクトを作成しています。コンストラクタはクラスと同じ名前で、メソッドと同様です。Javaのコンストラクタに関する更多信息は、以下にアクセスしてくださいJava コンストラクタを使用して、

どうやってLampクラスのオブジェクトを作成するかを見てみましょう。

// l1 オブジェクト
Lamp l1 = new Lamp();
// l2 オブジェクト
Lamp l2 = new Lamp();

 ここでは、Lampクラス(Lamp())のコンストラクタを使って名前のlのオブジェクトを作成しています。1とl2のオブジェクト。

オブジェクトはクラスのメンバーにアクセスするために使用されます。Lampクラスのオブジェクトを作成しましょう

メンバーにアクセスする方法は?

オブジェクトはクラスのメンバーにアクセスするために使用されます。.演算子を使ってメンバー(メソッドの呼び出しとインスタンス変数のアクセス)にアクセスできます。例えば、

class Lamp {
    turnOn() {...}
}
//オブジェクトの作成
Lamp l1 = new Lamp();
//メソッドturnOn()にアクセス
l1.turnOn();

 この文はlを呼び出します1のLampクラスのturnOn()メソッド

私たちは何度も言ったことですがメソッドという言葉。次の章で詳しく説明しますJava メソッドこれは今あなたが知るべきことです:

 上記の文を使ってメソッドを呼び出すと、turnOn()メソッドの本体にあるすべての文が実行されます。その後、プログラムの制御がlに戻ります1.turnOn()の後の文;

Javaでのメソッドの動作フロー図

同様に、以下のようにインスタンス変数にアクセスできます:

class Lamp {
    boolean isOn;
}
//オブジェクトの作成
Lamp l1 = new Lamp();
// メソッドturnOn()にアクセス
l1.isOn = true;

例:Javaクラスとオブジェクト

class Lamp {
    boolean isOn;
    void turnOn() {
        // trueの初期値の変数
        isOn = true;
        System.out.println("光る? " + isOn);
    }
    void turnOff() {
        //falseの初期値の変数
        isOn = false;
        System.out.println("光る? " + isOn);
    }
}
class Main {
    public static void main(String[] args) {
  
        //オブジェクトlを作成します1とl2
        Lamp l1 = new Lamp();
        Lamp l2 = new Lamp();
  
        //メソッドturnOn()とshutdown()を呼び出します
        l1.turnOn();
        l2.turnOff();
    }
}

出力

光る? true
点灯? false

上記のプログラムでは、

  1. クラスを名前付きで作成しました。

  2.  このクラスには、インスタンス変数isOnとメソッドturnOn()、turnOff()の2つがあります。

  3. 内部のMainクラスでは、Lampクラスの2つのオブジェクトl1とl2を使用して、

  4.  次に、l1オブジェクトがturnOn()を呼び出し、l2オブジェクトがturnOff()を呼び出す:  

    l1.turnOn();
    l2.turnOff();
  5.  メソッドの作用は:l1オブジェクトのisOn変数をtrueに設定し、出力を出力します。同様に、turnOff()メソッドはl2オブジェクトのisOn変数をfalseに設定し、出力を出力します。

注意:クラスで定義された変数がインスタンス変数と呼ばれるのは理由があります。オブジェクトが作成されると、それはクラスのインスタンスと呼ばれます。各インスタンスはクラスで定義された変数のコピーを含んでいます。したがって、インスタンス変数と呼ばれます。例えば、オブジェクトl1とl2のisOn変数は異なります。

次のチュートリアルでは、Javaのオブジェクト指向プログラミングに関する知識をさらに探求します。