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

Java カプセル化

Java カプセル化

このチュートリアルでは、例を使用して、Java でのカプセル化とデータ隠蔽について学習します。

Java カプセル化

カプセル化は、オブジェクト指向プログラミングの重要な機能の 1 つです。カプセル化とは、単一のクラス内のフィールドとメソッドのバンドルを指します。

外部クラスがクラスのフィールドやメソッドにアクセスして変更するのを防ぎます。これは、データ隠蔽の実現にも役立ちます .


例 1:Java カプセル化

class Area {

  // fields to calculate area
  int length;
  int breadth;

  // constructor to initialize values
  Area(int length, int breadth) {
    this.length = length;
    this.breadth = breadth;
  }

  // method to calculate area
  public void getArea() {
    int area = length * breadth;
    System.out.println("Area: " + area);
  }
}

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

    // create object of Area
    // pass value of length and breadth
    Area rectangle = new Area(5, 6);
    rectangle.getArea();
  }
}

出力

Area: 30

上記の例では、Area という名前のクラスを作成しました。 .このクラスの主な目的は、面積を計算することです。

面積を計算するには、2 つの変数が必要です:長さ そして広さ およびメソッド:getArea() .したがって、これらのフィールドとメソッドを 1 つのクラスにまとめました。

ここで、フィールドとメソッドは他のクラスからもアクセスできます。したがって、これはデータの隠蔽ではありません .

これは単なるカプセル化です .同様のコードをまとめているだけです。

注意 :カプセル化はデータの隠蔽と見なされることがよくありますが、それは完全に真実ではありません。

カプセル化とは、関連するフィールドとメソッドをまとめることです。これは、データの隠蔽を実現するために使用できます。カプセル化自体はデータの隠蔽ではありません。


カプセル化する理由


データ隠蔽

データ隠蔽は、実装の詳細を隠すことによってデータ メンバーのアクセスを制限する方法です。カプセル化は、データを隠す方法も提供します。

アクセス修飾子を使用して、データの隠蔽を実現できます。たとえば、

例 2:プライベート指定子を使用したデータの隠蔽

class Person {

  // private field
  private int age;

  // getter method
  public int getAge() {
    return age;
  }

  // setter method
  public void setAge(int age) {
    this.age = age;
  }
}

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

    // create an object of Person
    Person p1 = new Person();

    // change age using setter
    p1.setAge(24);

    // access age using getter
    System.out.println("My age is " + p1.getAge());
  }
}

出力

My age is 24

上記の例では、private があります。 フィールド age . privateなので 、クラス外からはアクセスできません。

年齢にアクセスするには 、 public を使用しました メソッド:getAge() そして setAge() .これらのメソッドは getter および setter メソッドと呼ばれます。

年齢を作る private により、クラス外からの不正アクセスを制限することができました。これはデータの隠蔽です .

age にアクセスしようとすると Main のフィールド クラスでは、エラーが発生します。

// error: age has private access in Person
p1.age = 24;

Java

  1. Java データ型 (プリミティブ)
  2. Java オペレーター
  3. Java コメント
  4. Java for-each ループ
  5. Java 文字列
  6. Java このキーワード
  7. Java インターフェイス
  8. Java try-with-resources
  9. Java アノテーション
  10. Java の型キャスト
  11. Java - 基本的なデータ型