Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah enkapsulasi dan mengapa penting dalam Python?
menyembunyikan data:
Ia melindungi data dari pengubahsuaian yang tidak disengajakan atau berniat jahat. Dengan menyekat akses langsung ke atribut dalaman, anda memastikan integriti data dan mencegah tingkah laku yang tidak dijangka. Ini menjadikan kod lebih mudah difahami, menyelenggara, dan debug. Perubahan kepada pelaksanaan dalaman kelas tidak semestinya memerlukan perubahan pada kod yang menggunakannya, selagi antara muka tetap konsisten. Meningkatkan kebolehpasaran dan kebolehgunaan kod dengan ketara dalam beberapa cara:<code class="python">class BankAccount: def __init__(self, account_number, initial_balance): self.__account_number = account_number # Private attribute self.__balance = initial_balance # Private attribute def get_balance(self): return self.__balance def deposit(self, amount): if amount > 0: self.__balance += amount return f"Deposited ${amount}. New balance: ${self.__balance}" else: return "Invalid deposit amount." def withdraw(self, amount): if 0 < amount <= self.__balance: self.__balance -= amount return f"Withdrew ${amount}. New balance: ${self.__balance}" else: return "Insufficient funds or invalid withdrawal amount." # Example usage account = BankAccount("1234567890", 1000) print(account.get_balance()) # Accessing balance through getter method print(account.deposit(500)) print(account.withdraw(200)) #print(account.__balance) # This will raise an AttributeError because __balance is private. Trying to directly access it outside the class is prevented.</code>
Dalam contoh ini, __account_number
dan __balance
adalah atribut peribadi. Awalan underscore berganda (__
) melaksanakan nama yang tidak dapat diakses, menjadikannya kurang dapat diakses dari luar kelas. Akses dan pengubahsuaian dikawal melalui kaedah get_balance
, deposit
, dan withdraw
. Ini menghalang manipulasi langsung keseimbangan, memastikan integriti data dan mencegah kesilapan yang tidak disengajakan. Kaedah ini juga menguatkuasakan peraturan perniagaan (mis., Mencegah pengeluaran melebihi baki atau deposit jumlah negatif). Ini menunjukkan bagaimana enkapsulasi meningkatkan perlindungan data, organisasi kod, dan penyelenggaraan.
Atas ialah kandungan terperinci Apakah enkapsulasi dan mengapa penting dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!