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

例を使用した Java OOP でのカプセル化


Java のカプセル化とは?

Java でのカプセル化 変数(データ)とメソッド(コード)を一つの単位としてまとめる仕組みです。これは、情報の詳細を隠し、データとオブジェクトの動作を保護するプロセスです。これは、4 つの重要な OOP 概念の 1 つです。 encapsulate クラスはテストが簡単なので、単体テストにも適しています。

このチュートリアルでは、次のことを学びます-

ビデオにアクセスできない場合は、ここをクリックしてください

例でカプセル化を学ぶ

カプセル化とは何かを詳細に理解するには、deposit メソッドと show balance メソッドを持つ次の銀行口座クラスを検討してください

class Account {
    private int account_number;
    private int account_balance;

    public void show Data() {
        //code to show data 
    }

    public void deposit(int a) {
        if (a < 0) {
            //show error 
        } else
            account_balance = account_balance + a;
    }
}

ハッカーが銀行口座のコードにアクセスできたとします。今、彼は 2 つの方法であなたの口座に -100 を入金しようとしています。彼の最初の方法またはアプローチを見てみましょう。

アプローチ 1: 彼はコードを操作して、あなたの銀行口座に無効な金額 (たとえば -100) を入金しようとします。

さて、問題は – それは可能ですか? 調べてみましょう。

通常、クラス内の変数は以下のように「private」に設定されています。クラスで定義されたメソッドでのみアクセスできます。他のクラスやオブジェクトはそれらにアクセスできません。

データ メンバーがプライベートの場合、同じクラス内でのみアクセスできることを意味します。外部クラスは、他のクラスのプライベート データ メンバーまたは変数にアクセスできません。

したがって、私たちの場合、ハッカーはあなたのアカウントに -100 を入金することはできません。

アプローチ 2 :ハッカーの最初のアプローチでは、金額の入金に失敗しました。次に、彼は「deposit」メソッドを使用して、-100 の金額を入金しようとします。

ただし、メソッドの実装には負の値のチェックがあります。したがって、2 番目のアプローチも失敗します。

したがって、データを外部に公開することはありません。これにより、アプリケーションが安全になります。

コード全体はカプセルと考えることができ、メッセージを介してのみ通信できます。したがって、名前のカプセル化.

Java でのデータ隠蔽

Java でのデータ隠蔽 クラスの変数を他のクラスから隠しています。現在のクラスのメソッドを介してのみアクセスできます。実装の詳細をユーザーから隠します。しかし、データを隠すだけでなく、関連するデータをより適切に管理またはグループ化することを目的としています。

Java でカプセル化の程度を下げるには、「protected」や「public」などの修飾子を使用できます。カプセル化により、開発者は他の部分に影響を与えることなく、コードの一部を簡単に変更できます。

Java のゲッターとセッター

Java のゲッターとセッター は、変数の値を取得および更新するために使用される 2 つの従来の方法です。これらは主に、変数値の作成、変更、削除、および表示に使用されます。セッター メソッドは値の更新に使用され、ゲッター メソッドは値の読み取りまたは取得に使用されます。これらは、アクセサーおよびミューテーターとしても知られています。

次のコードは、getter メソッドと setter メソッドの例です:

class Account{ 
private int account_number;
private int account_balance; 
    // getter method
	public int getBalance() {
        return this.account_balance;
    }
    // setter method
	public void setNumber(int num) {
        this.account_number = num;
    }
}

上記の例では、getBalance() メソッドは変数 account_balance の値を読み取る getter メソッドであり、setNumber() メソッドは変数 account_number の値を設定または更新する setter メソッドです。


抽象化とカプセル化

多くの場合、カプセル化は抽象化と誤解されています。勉強しましょう-

この違いを理解するための簡単な例は、携帯電話です。回路基板の複雑なロジックがタッチ スクリーンにカプセル化され、それを抽象化するインターフェイスが提供されます。

Java でのカプセル化の利点


Java

  1. Java カプセル化
  2. Java の型キャスト
  3. Java における OOP の概念 |基礎と例
  4. Java の String Length() メソッド:例で見つける方法
  5. Java String charAt() メソッドと例
  6. Java String contains() メソッド |部分文字列を例でチェック
  7. 例を使用したJava文字列のendsWith()メソッド
  8. Java BufferedReader:例を使用して Java でファイルを読み取る方法
  9. プログラム例を使用した Java の挿入ソート アルゴリズム
  10. 例を使用したJavaプログラムでの選択ソート
  11. Java-カプセル化