Pengubah suai akses digunakan oleh bahasa pengaturcaraan berorientasikan objek seperti C++, java, python dll. untuk menyekat akses pembolehubah ahli kelas dan kaedah dari luar kelas adalah prinsip OOP yang melindungi data dalaman kelas menggunakan pengubahsuai Access seperti Awam, Swasta dan Dilindungi.
Python menyokong tiga pengubah akses, iaitu awam, peribadi dan dilindungi. Pengubah suai akses ini memberikan sekatan untuk mengakses pembolehubah ahli dan kaedah kelas daripada sebarang objek di luar kelas.
Secara lalai, pembolehubah dan kaedah ahli adalah awam yang bermaksud ia boleh diakses dari mana-mana sahaja di luar atau dalam kelas Tiada kata kunci awam diperlukan untuk menjadikan kelas atau kaedah dan sifat awam. Berikut ialah contoh pengubah suai akses Awam −
. Terjemahan bahasa Cina bagiKelas pelajar mempunyai dua pembolehubah ahli, nama dan umur serta paparan kaedah yang mencetak nilai pembolehubah ahli. Kedua-dua pembolehubah ini dan kaedah adalah awam kerana tiada kata kunci khusus diberikan kepada mereka.
class Student: def __init__(self, name, age): self.name = name self.age = age def display(self): print("Name:", self.name) print("Age:", self.age) s = Student("John", 20) s.display()
Name: John Age: 20
Sifat dan kaedah kelas dengan pengubah akses peribadi hanya boleh diakses dalam kelas yang ditakrifkan dan tidak boleh diakses di luar kelas Dalam Python sifat dan kaedah peribadi diisytiharkan dengan menambahkan awalan dengan dua garis bawah('__') sebelum mereka pengisytiharan.
Terjemahan bahasa Cina bagiAkaun Bank Kelas sedang diisytiharkan dengan dua pembolehubah persendirian iaitu nombor_akaun dan baki dan paparan_baki harta persendirian yang mencetak baki akaun bank Memandangkan kedua-dua sifat dan kaedah adalah peribadi jadi semasa mengaksesnya dari luar kelas ia menimbulkan ralat Atribut.
class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def __display_balance(self): print("Balance:", self.__balance) b = BankAccount(1234567890, 5000) b.__display_balance()
AttributeError: 'BankAccount' object has no attribute '__display_balance'
Sifat dan kaedah kelas dengan pengubah akses terlindung boleh diakses di dalam kelas dan dalam kelas yang mewarisi kelas yang dilindungi. Dalam Python, ahli dan kaedah yang dilindungi diisytiharkan menggunakan garis bawah tunggal ('_') sebagai awalan sebelum nama mereka.
Terjemahan bahasa Cina bagiKelas Person mempunyai dua atribut yang dilindungi, iaitu _name dan _age, dan kaedah _display yang dilindungi, yang digunakan untuk memaparkan nilai atribut kelas Person. Kelas Pelajar mewarisi daripada kelas Person dan mempunyai atribut terlindung tambahan _roll_number dan paparan kaedah awam, yang memanggil kaedah _display kelas Person kelas induk. Dengan mencipta contoh kelas Pelajar, kita boleh memanggil kaedah paparan dari luar kelas, kerana kaedah paparan adalah peribadi, ia memanggil kaedah _display yang dilindungi kelas Orang.
class Person: def __init__(self, name, age): self._name = name self._age = age def _display(self): print("Name:", self._name) print("Age:", self._age) class Student(Person): def __init__(self, name, age, roll_number): super().__init__(name, age) self._roll_number = roll_number def display(self): self._display() print("Roll Number:", self._roll_number) s = Student("John", 20, 123) s.display()
Name: John Age: 20 Roll Number: 123
Dalam artikel ini, kami mempelajari tentang tiga pengubah suai akses yang digunakan untuk penyembunyian dan perlindungan data dalam Python dan bahasa pengaturcaraan berorientasikan objek lain. Awam, peribadi dan dilindungi ialah tiga pengubah akses yang digunakan dalam Python. Sifat awam dan kaedah kelas boleh diakses dari mana-mana sahaja di dalam atau di luar kelas. Pembolehubah dan sifat ahli persendirian hanya boleh diakses dari dalam kelas di mana ia diisytiharkan. Pengubah suai akses terlindung digunakan apabila kita perlu mengakses sifat dan kaedah kelas dari dalam kelas dan daripada kelas yang mewarisi daripada kelas tersebut.
Atas ialah kandungan terperinci Akses pengubah suai dalam Python: Awam, Persendirian dan Dilindungi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!