工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java クラスとオブジェクト

Java クラスとオブジェクト

このチュートリアルでは、例を使用して Java のクラスとオブジェクトの概念について学習します。

Java はオブジェクト指向のプログラミング言語です。オブジェクト指向アプローチの核となる概念は、複雑な問題を小さなオブジェクトに分割することです。

オブジェクトは、状態を持つ任意のエンティティです と行動 .たとえば、自転車 はオブジェクトです。

オブジェクトについて学ぶ前に、まず Java のクラスについて知っておきましょう。


Java クラス

クラスはオブジェクトの設計図です。オブジェクトを作成する前に、まずクラスを定義する必要があります。

クラスは家のスケッチ(プロトタイプ)と考えることができます。床、ドア、窓などに関するすべての詳細が含まれています。これらの説明に基づいて家を建てます。家がオブジェクトです。

同じ説明から多くの家を作成できるため、1 つのクラスから多くのオブジェクトを作成できます。


Java でクラスを作成

class キーワードを使用して Java でクラスを作成できます。たとえば、

class ClassName {
  // fields
  // methods
}

ここでは、フィールド (変数) と メソッド を表す と行動

自転車について オブジェクト、クラスを次のように作成できます

class Bicycle {

  // state or field
  private int gear = 5;

  // behavior or method
  public void braking() {
    System.out.println("Working of Braking");
  }
}

上記の例では、Bicycle という名前のクラスを作成しました。 . gear という名前のフィールドが含まれています braking() という名前のメソッド .

こちら、自転車 プロトタイプです。これで、プロトタイプを使用して自転車をいくつでも作成できます。そして、すべての自転車がプロトタイプのフィールドとメソッドを共有します。

注意 :キーワード private を使用しました と public .これらはアクセス修飾子として知られています。詳細については、Java アクセス修飾子にアクセスしてください。


Java オブジェクト

オブジェクトは、クラスのインスタンスと呼ばれます。たとえば、自転車 MountainBicycle クラスです 、スポーツ自転車ツーリング自転車 などは、クラスのオブジェクトと見なすことができます。

Java でオブジェクトを作成する

クラスのオブジェクトを作成する方法は次のとおりです。

className object = new className();

// for Bicycle class
Bicycle sportsBicycle = new Bicycle();

Bicycle touringBicycle = new Bicycle();

new を使用しました キーワードとクラスのコンストラクターを組み合わせて、オブジェクトを作成します。コンストラクターはメソッドに似ており、クラスと同じ名前を持ちます。例:Bicycle() Bicycle のコンストラクタです クラス。詳細については、Java コンストラクターにアクセスしてください。

ここでは、sportsBicycletouringBicycle オブジェクトの名前です。それらを使用して、クラスのフィールドとメソッドにアクセスできます。

ご覧のとおり、クラスの 2 つのオブジェクトを作成しました。 Java では、1 つのクラスの複数のオブジェクトを作成できます。

注意 :クラスのフィールドとメソッドは、クラスのメンバーとも呼ばれます。


クラスのメンバーにアクセス

. とともにオブジェクトの名前を使用できます クラスのメンバーにアクセスする演算子。たとえば、

class Bicycle {

  // field of class
  int gear = 5;

  // method of class
  void braking() {
    ...
  }
}

// create object
Bicycle sportsBicycle = new Bicycle();

// access field and method
sportsBicycle.gear;
sportsBicycle.braking();

上記の例では、Bicycle という名前のクラスを作成しました。 . gear という名前のフィールドが含まれています braking() という名前のメソッド .声明に注目してください、

Bicycle sportsBicycle = new Bicycle();

ここでは、Bicycle のオブジェクトを作成しました。 sportsBicycle という名前 .次に、オブジェクトを使用してクラスのフィールドとメソッドにアクセスします。

方法という言葉について言及しました かなりの回数。 Java メソッドについては、次の章で詳しく学びます。

これで、クラスとオブジェクトが何であるかが理解できました。完全に機能する例を見てみましょう。


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

class Lamp {
  
  // stores the value for light
  // true if light is on
  // false if light is off
  boolean isOn;

  // method to turn on the light
  void turnOn() {
    isOn = true;
    System.out.println("Light on? " + isOn);

  }

  // method to turnoff the light
  void turnOff() {
    isOn = false;
    System.out.println("Light on? " + isOn);
  }
}

class Main {
  public static void main(String[] args) {

    // create objects led and halogen
    Lamp led = new Lamp();
    Lamp halogen = new Lamp();

    // turn on the light by
    // calling method turnOn()
    led.turnOn();

    // turn off the light by
    // calling method turnOff()
    halogen.turnOff();
  }
}

出力 :

Light on? true
Light on? false

上記のプログラムでは、Lamp という名前のクラスを作成しました。 .変数が含まれています:isOn および 2 つのメソッド:turnOn() そして turnOff() .

メインの内部 クラスで、2 つのオブジェクトを作成しました:led そしてハロゲン ランプの クラス。次に、オブジェクトを使用してクラスのメソッドを呼び出しました。

変数 isOn クラス内で定義された変数は、インスタンス変数とも呼ばれます。クラスのオブジェクトを作成すると、クラスのインスタンスと呼ばれるためです。そして、各インスタンスには変数の独自のコピーがあります。

つまり、主導 そしてハロゲン オブジェクトは isOn の独自のコピーを持ちます


例:同じクラス内にオブジェクトを作成する

前の例では、別のクラス内にオブジェクトを作成し、そのクラスのメンバーにアクセスしたことに注意してください。

ただし、同じクラス内にオブジェクトを作成することもできます。

class Lamp {
  
  // stores the value for light
  // true if light is on
  // false if light is off
  boolean isOn;

  // method to turn on the light
  void turnOn() {
    isOn = true;
    System.out.println("Light on? " + isOn);

  }

  public static void main(String[] args) {
    
    // create an object of Lamp
    Lamp led = new Lamp();

    // access method using object
    led.turnOn();
  }
}

出力

Light on? true

ここでは、main() 内にオブジェクトを作成しています。 同じクラスのメソッド。


Java

  1. C++ クラスとオブジェクト
  2. Java 変数とリテラル
  3. Java 最終キーワード
  4. オペレーターの Java インスタンス
  5. Java 抽象クラスと抽象メソッド
  6. Java のネストされた内部クラス
  7. Java ネストされた静的クラス
  8. Java匿名クラス
  9. Java シングルトン クラス
  10. Java リフレクション
  11. Java ObjectOutputStream クラス