カプセル化#
- はじめに
オブジェクト指向プログラミングにおけるカプセル化について学びましょう。カプセル化は、クラス内のデータや処理を隠蔽し、外部から直接アクセスできないようにする仕組みです。では、二人の説明を見ていきましょう。
クラス内のデータや処理を隠蔽して、外部から直接アクセスできないようにする仕組みだよね?
そうなの!カプセル化を使うことで、クラスの内部構造を変更しても、外部からは影響を受けないようにできるの!
Pythonでは、属性やメソッドに
_
(アンダースコア)や
__
(ダブルアンダースコア)を付けて、カプセル化を実現するの。例えば、こんな感じ!
class BankAccount:
def __init__(self, balance):
self.__balance = balance
def deposit(self, amount):
self.__balance += amount
def withdraw(self, amount):
if amount <= self.__balance:
self.__balance -= amount
else:
print('Insufficient funds')
def get_balance(self):
return self.__balance
なるほど、属性やメソッドに
_
や
__
を付けて、カプセル化を実現するんだね!
そうなの!これで、外部から直接アクセスできないようになって、クラス内部のデータや処理が保護されるの!
外部からデータにアクセスするために、
ゲッター
と
セッター
というメソッドを使うこともあるよ!
- おわりに
オブジェクト指向プログラミングのカプセル化では、クラス内のデータや処理を隠蔽し、外部から直接アクセスできないようにします。これで、クラスの内部構造を保護し、安全なコードが書けるようになりましたね!😀