問題一覧に戻る
中級オブジェクト指向基礎
問題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.)