問題一覧に戻る
中級オブジェクト指向基礎
問題87: プライベート属性
Pythonでは、属性名の前にアンダースコア2つ(__)を付けることで、プライベート属性を作成できます。これは名前マングリングと呼ばれ、外部から直接アクセスしにくくなります。ただし完全なアクセス制限ではなく、慣習的な保護です。通常はゲッターメソッドを通じてアクセスします。
# プライベート属性
class BankAccount:
def __init__(self, balance):
# プライベート残高
self.balance = balance
def deposit(self, amount):
if amount > 0:
self.balance += amount
def get_balance(self):
return self.balance
# プライベート属性を使用
account = BankAccount(1000)
account.deposit(500)
print(account.)