カプセル化
カプセル化
カプセル化とは
・データの保護
・属性へのアクセスを行わない(制限)ようにする。
データの制限方法
アンダースコアの数によって決まる。
アクセス拒否したい属性名をアンダースコア_を先頭につけた名前にする
#2-1
アクセスを制限したいとき
アクセス制限したい属性名をアンダースコア_ _を先頭につけた名前にする
#3-1
クラスのインスタンス変数を隠す「マングリング」とは
属性の名前に変更され、アクセスできないようにする名前のことをいう。
上記のようなシンプルな方法でオブジェクト指向を実現している。
参考:
https://www.youtube.com/watch?v=JeznW_7DlB0
セッターとゲッター
カプセル化の仕組みの一種。
セッター(setter)
データを設定するメソッドをいう。
ゲッター(getter)
データを取得するメソッドをいう。
#4-1
次の形式で暮らすの外からデータを設定・取得するメソッドを呼び出すことができるようになる。
#4-2
上記を使ってデータに誤りがないかをチェックした上で、データの設定・取得を行うようにし、カプセル化を行う。
_ や __をつけてカプセル化を行うことができるが、Pythonのオブジェクト指向はとてもシンプルなもの。_ や __をつけないでクラスの記述を行うこともできる。
独学プログラマーP158~P160
オブジェクト指向プログラミングの4代要素より7
カプセル化の概念とは
オブジェクトによって、ふくすうの変数とメソッドをまとめること
#5-1
#5-2
#5-3 answer:
self_taught/python_ex254.py at master · calthoff/self_taught · GitHub
#5-3-5
ブロガーの皆様ありがとうございました!
参考記事:🔽🔽
Pythonのプライベート変数という概念のお話 | ハイパー猫背