4

カプセル化情報隠蔽ですか、それとも情報隠蔽につながりますか??

カプセル化はデータと機能を単一のエンティティにバインドすると言うように、データ フローを制御し、適切に定義された関数を介してのみエンティティのデータにアクセスできます。したがって、カプセル化が抽象化または情報の隠蔽につながると言うとき、それは、どのデータを非表示にし、どのデータをユーザーに表示するかというアイデアを提供することを意味します...ユーザーがアクセスできないデータはそれらから隠される可能性があるため、カプセル化によりどのデータを非表示にして、何を表示する必要があるかを見つけるためのテクニック...この概念は正しいですか??

そして、情報の隠蔽と抽象化の違いは何ですか??

4

7 に答える 7

3

これの重複の可能性

public class Guest {
  private String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}

上記のコードを参照してください。文字列名をカプセル化し、パブリック メソッドを介してアクセスできるようにしています。

guest という Guest のオブジェクトを作成したとします。すると、以下は違法になります。

System.out.println("Guests name  : "guest.name);

public メソッドによるアクセスのみが可能です。

guest.getName();

カプセル化の利点:

  1. クラスのフィールドは、読み取り専用または書き込み専用にすることができます。

  2. クラスは、フィールドに格納される内容を完全に制御できます。

  3. クラスのユーザーは、クラスがそのデータを格納する方法を知りません。クラスはフィールドのデータ型を変更でき、クラスのユーザーはコードを変更する必要はありません。

于 2010-10-11T15:22:33.203 に答える
2

カプセル化とは、実装を非表示にすることを意味します

抽象化とは、実装に関する青写真を提供することを意味します

データの非表示とは、DataMemberまたは属性へのアクセスを制御することを意味します

于 2013-01-09T15:31:50.627 に答える
1

カプセル化とは、データを何かに隠して名前を付け (クラス内のプライベート データ メンバー - Car)、それらのデータ変数へのアクセスを変更または提供するビヘイビア メソッドをバインドすることです。

抽象化は、抽象的な用語でクライアントの視点を提供します。コンセプトやアイデアとして。Car は具体的なエンティティであり、Drivable、Trackable (位置を持ち、追跡可能) はさまざまなクライアントの Car を抽象化できます。

ここで、抽象化カプセル化の実際の例を確認できます。

于 2013-09-27T20:36:05.270 に答える
1

情報はより一般的な用語であるため、カプセル化は情報の隠蔽であると言うのは適切ではないと思います。カプセル化はData Hidingだと思います。

カプセル化とは…

  • オブジェクトの状態と動作(その状態で動作する) を 1 つのユニットに組み合わせる。これは、現実世界のオブジェクトによく似ています。

  • 明確に定義され、制御されたアクセスを (動作を通じて) 提供することにより、オブジェクトの状態を偶発的な外部変更から隠して保護します。

Javaでは、定義は次のように詳述できます...

  • Java では、クラス列挙型はカプセル化を実装するための単一のユニットです。状態は変数 (プリミティブ、オブジェクトへの参照) を使用して定義され、動作はメソッドを使用して定義されます。

  • データの隠蔽は、変数のプライベートアクセス指定子を使用して実現されます (外部から誰もアクセスできないようにするため)。

  • 制御されたアクセスは、Getter / Setter および/またはビジネス ロジック メソッドを提供することによって実現されます。Setter とその他の State に影響を与えるメソッドの両方に、State を論理的に正しく保つための境界条件チェックが必要です。

于 2013-06-29T22:27:20.887 に答える
0

カプセル化は、オブジェクトのプロパティと動作を隠すために使用される手法です。

抽象化とは、本質的な機能を表現することを指します。

于 2014-03-30T15:56:36.703 に答える
0

カプセル化 - 作業が完了し、ドアが完全に閉じています。メソッド名で仕事の利益を得る。抽象化 - 作業が開始され、ドアが適度に閉じられました。上書きキーを使用して作業を開いて変更します。

于 2014-08-03T10:09:43.700 に答える