Privé-attributen Definiëren
Veeg om het menu te tonen
Privé-attributen vormen het sterkste niveau van gegevensbescherming binnen het encapsulatiemodel van Python. Door gebruik te maken van dubbele underscores wordt het naamverminkingmechanisme van Python geactiveerd, waardoor gevoelige attributen worden omgezet in vrijwel ontoegankelijke identificaties. Dit biedt een robuuste bescherming tegen onbedoelde interferentie en draagt bij aan veilige, professionele klasseontwerpen.
123456789101112131415161718192021class BankAccount: def __init__(self, owner, balance): self.owner = owner # Public attribute self.__balance = balance # Private attribute def deposit(self, amount): if amount > 0: self.__balance += amount print(f"Deposited {amount}. New balance: {self.__balance}") else: print("Deposit amount must be positive.") def withdraw(self, amount): if 0 < amount <= self.__balance: self.__balance -= amount print(f"Withdrew {amount}. New balance: {self.__balance}") else: print("Invalid withdrawal amount.") def get_balance(self): return self.__balance
Hoewel privé-attributen technisch gezien toegankelijk zijn via hun verminkte namen, schendt dit de encapsulatie en mag dit nooit worden toegepast in productiecode.
Een privé-attribuut zoals __balance in BankAccount wordt automatisch hernoemd naar _BankAccount__balance via name mangling. Dit maakt directe toegang moeilijker en ontmoedigt extern gebruik.
Privé-attributen beveiligen gevoelige status en zorgen ervoor dat interactie alleen plaatsvindt via geverifieerde publieke methoden. In klassen zoals Wallet of BankAccount blijven gegevens zoals saldo, pincode en transactiegeschiedenis privé, terwijl methoden zoals deposit(), withdraw() en authenticate() regels afdwingen en de veiligheid waarborgen.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.