[解決済み] カプセル化と抽象化の違い
2022-07-24 12:46:13
質問
今日、面接を受けました。の質問がありました。 OOP との違いについて、です。 カプセル化 &です。 抽象化 ?
私は自分の知識として、次のように答えました。 カプセル化 という1つのユニットにデータメンバとメンバ関数をバインドすることです。 クラス . 一方 抽象化 は、基本的に実装の複雑さを隠蔽し、ユーザーにアクセスのしやすさを提供することです。私は、彼女が私の答えに納得してくれると思った。しかし、彼女は、もし両方とも情報を隠すことが目的なら、この2つの実際の違いは何なのか、と質問してきました。私は何も答えられませんでした。
この質問をする前に、StackOverFlow の他のスレッドを読んで、この 2 つの違いについて調べました。 OOP の概念の違いについて、StackOverFlow の他のスレッドを読みました。しかし、私は面接官を説得する立場に自分自身を見つけることはありません。
どなたか、一番簡単な例で正当化していただけませんか?
どのように解決するのですか?
カプセル化 頻繁に変更される可能性のある変数や実装を隠します。 クラスで を使用して、部外者が直接アクセスできないようにします。ゲッターメソッドやセッターメソッドを介してアクセスする必要があります。
抽象化 も何かを隠すために使われますが、その中で より高度に (クラス、インターフェース) . 抽象クラス(またはインターフェイス)を使用するクライアントは、それが何であったかを気にしない、彼らはそれが何ができるかを知る必要があります。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リスコフ置換原理の例として、どのようなものがありますか?
-
[解決済み] ポリモーフィズムとは何か、何のためにあり、どのように使われるのか?
-
[解決済み] コヒーシ ョンとカップリングの違い
-
[解決済み】「結合度が低く、結合度が高い」とはどういう意味ですか?
-
[解決済み】依存関係逆転の原則とは何ですか、なぜそれが重要なのですか?
-
[解決済み】コンストラクターとファクトリーメソッドの比較【終了しました
-
[解決済み] メソッドチェイニング - なぜ良い習慣なのか、そうでないのか?
-
[解決済み] Delegateとは?[クローズド]。
-
[解決済み] 継承と集計の比較【終了しました
-
[解決済み] コンストラクタをprivateにするとどうなるのですか?