Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Akses pengubah suai dalam Python: Awam, Persendirian dan Dilindungi

Akses pengubah suai dalam Python: Awam, Persendirian dan Dilindungi

PHPz
PHPzke hadapan
2023-09-02 19:17:061531semak imbas

Akses pengubah suai dalam Python: Awam, Persendirian dan Dilindungi

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.

Pengubahsuai Akses Awam

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 bagi

Contoh

ialah:

Contoh

Kelas 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() 

Output

Name: John
Age: 20

Pengubah suai akses peribadi

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 bagi

Contoh

ialah:

Contoh

Akaun 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() 

Output

AttributeError: 'BankAccount' object has no attribute '__display_balance'

Pengubah suai akses terlindung

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 bagi

Contoh

ialah:

Contoh

Kelas 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() 

Output

Name: John
Age: 20
Roll Number: 123

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam