プロパティを操作する処理をメソッドにまとめる利点について説明していきます。
- プロパティの操作
- カプセル化
プロパティの操作
・クラスを使ったことによって投稿に関する情報や処理をまとめて管理できるようになりました。いいねをlikesに変えたい場合showメソットを変えるだけですべての投稿を変えることが出来ます。
・またメソットを追加することも出来ます。likeCountを増やしたい場合はlike()というメソットを作ればいいです。プロパティなのでthis.likeCount++;としてあげればメソットが出来ます。
・あとはposts[0]に対しlike()を実行するとlikeCountが増えていきます。
カプセル化
・ただ、ここでlikeCountを増やすだけならpostsに対して直接likeCount++;としてあげても同じように動きますが、変更や修正に弱くなるので推奨されていません。
・もし機能を拡張したくなった場合、例えば結果を表示したかったら、show()メソットを使えばいいのでlike()メソットの中でthis.show();としてあげてposts[0]のlike()だけを呼び出すということも出来ます。
・このように機能の拡張が簡単になるので、プロパティは直接操作せずにメソッドを介して操作するようにしてあげましょう。
・またこの考え方をカプセル化と呼ばれています。