質問するログイン新規登録

回答編集履歴

4

修正

2021/07/28 05:06

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -35,6 +35,6 @@
35
35
  - ゲッター・セッターのみのプロパティを作るのはフィールドを公開しないため
36
36
  - フィールドを公開しないのは公式情報でそのようなガイドラインが公開されている(つまりそのようなプログラミングを理想として C# が設計されている)ため
37
37
  - そのガイドラインがあるのは、オブジェクト指向言語である(基本的な考えとして実装の隠蔽がある)ため
38
- - 実装の隠蔽の利点としては、主に次の二つ。不正なデータの設定を防ぐため、またインターフェースの更新をせず別の実装と交換できるようにするため(オブジェクトの部品化とポリモーフィズム)
38
+ - 実装の隠蔽(カプセル化)の利点としては、主に次の二つ。不正なデータの設定を防ぐため、またインターフェースの更新をせず別の実装と交換できるようにするため(オブジェクトの部品化とポリモーフィズム)
39
39
 
40
40
  以上です。

3

修正

2021/07/28 05:06

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -35,6 +35,6 @@
35
35
  - ゲッター・セッターのみのプロパティを作るのはフィールドを公開しないため
36
36
  - フィールドを公開しないのは公式情報でそのようなガイドラインが公開されている(つまりそのようなプログラミングを理想として C# が設計されている)ため
37
37
  - そのガイドラインがあるのは、オブジェクト指向言語である(基本的な考えとして実装の隠蔽がある)ため
38
- - 実装の隠蔽の利点としては、主に次の二つ。不正なデータの設定を防ぐため、またインターフェースの更新をせず別の実装と交換できるようにするため(ポリモーフィズムが使える)
38
+ - 実装の隠蔽の利点としては、主に次の二つ。不正なデータの設定を防ぐため、またインターフェースの更新をせず別の実装と交換できるようにするため(オブジェクトの部品化とポリモーフィズム)
39
39
 
40
40
  以上です。

2

追記

2021/07/28 05:03

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -26,4 +26,15 @@
26
26
 
27
27
  これらの変更を行っても使用する側の変更は不要で、同じ手続きで扱うことができ、オブジェクトを部品化できます。
28
28
 
29
- オブジェクト指向では、詳細を隠蔽してオブジェクト同士がメッセージを送りあうというのが肝なので、メッセージ送出にあたるメソッドやプロパティのみ公開されるわけです。
29
+ オブジェクト指向では、詳細を隠蔽してオブジェクト同士がメッセージを送りあうというのが肝なので、メッセージ送出にあたるメソッドやプロパティのみ公開されるわけです。
30
+
31
+ ## まとめ
32
+
33
+ この回答をまとめるとこうなります。
34
+
35
+ - ゲッター・セッターのみのプロパティを作るのはフィールドを公開しないため
36
+ - フィールドを公開しないのは公式情報でそのようなガイドラインが公開されている(つまりそのようなプログラミングを理想として C# が設計されている)ため
37
+ - そのガイドラインがあるのは、オブジェクト指向言語である(基本的な考えとして実装の隠蔽がある)ため
38
+ - 実装の隠蔽の利点としては、主に次の二つ。不正なデータの設定を防ぐため、またインターフェースの更新をせず別の実装と交換できるようにするため(ポリモーフィズムが使える)
39
+
40
+ 以上です。

1

追記

2021/07/28 04:59

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -26,4 +26,4 @@
26
26
 
27
27
  これらの変更を行っても使用する側の変更は不要で、同じ手続きで扱うことができ、オブジェクトを部品化できます。
28
28
 
29
- オブジェクト指向では、詳細を隠蔽してオブジェクト同士がメッセージを送りあうというのが肝なので、メッセージ送出にあたるメソッドのみ公開されるわけです。
29
+ オブジェクト指向では、詳細を隠蔽してオブジェクト同士がメッセージを送りあうというのが肝なので、メッセージ送出にあたるメソッドやプロパティのみ公開されるわけです。