回答編集履歴

1

加筆修正

2022/05/24 08:35

投稿

退会済みユーザー
test CHANGED
@@ -5,3 +5,33 @@
5
5
  [オブジェクト指向とは?メリットは?例を使ってわかりやすく解説! \| Webpia](https://webpia.jp/object/)
6
6
  [【初心者必見】オブジェクト指向を分かりやすく解説 \| CodeCampus](https://blog.codecamp.jp/object-orientation-explanation)
7
7
 
8
+ ---
9
+
10
+ ユーザーの追加・削除・修正、ですかね。
11
+ でも、システムの中では、例えばユーザーマスターに変更があると
12
+ 組織マスターに影響が出たり、
13
+ 権限マスターに影響が出たりと、
14
+ 単体テーブルを操作するだけで終わらなかったりしますよね。
15
+
16
+ 関数で処理を束ねるだけだと、
17
+ 例えばユーザーを追加するぞっていう処理の中で、
18
+ ユーザーマスター、組織マスター、権限マスターなどそれぞれ操作する関数を呼びますよね。
19
+
20
+ これ、クラスで置き換えると、
21
+ クラス"ユーザー"のメソッド「ユーザー追加」を一つ呼ぶだけで、
22
+ その一連の処理を行う主体をクラス"ユーザー"の下で行うことができます。
23
+ もちろん、クラス"組織"、クラス"権限"など設けても良いです。
24
+
25
+ で、ユーザーじゃなく従業員だったら? 契約社員だったら? バイトだったら?
26
+ クラス"雇用"のメソッド「新規雇用」ってのに情報を渡すと、
27
+ そのメソッドの中でクラス"ユーザー"、クラス"組織"、クラス"権限"など駆使して
28
+ 一連の処理をやってくれる、というふうになります。
29
+
30
+ で、もし組織変更が加わったら?
31
+ 関数で処理を束ねるだけだと、
32
+ 様々な処理を再度チェックして変更をすべての処理に加えることになりますけれど、
33
+ クラスで構成していればおそらくクラス"組織"をいじるだけで済むわけです。
34
+
35
+ 保守性が良くなり、テストもしやすくなります。
36
+ そういうことなのかなと。
37
+ 雑な説明ですが。