Akses pengubah suai dalam Python: Awam, Persendirian dan Dilindungi

PHPz
Lepaskan: 2023-09-02 19:17:06
ke hadapan
1601 orang telah melayarinya

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() 
Salin selepas log masuk

Output

Name: John
Age: 20
Salin selepas log masuk

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() 
Salin selepas log masuk

Output

AttributeError: 'BankAccount' object has no attribute '__display_balance'
Salin selepas log masuk

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() 
Salin selepas log masuk

Output

Name: John
Age: 20
Roll Number: 123
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan