Public, Private, dan Protected Pada Python

Public, Private, dan Protected dikenal dengan nama Visibility. Istilah ini telah lama dikenal oleh bahasa pemrograman C++ dan Java. Python, merupakan bahasa baru secara default mendefinisikan suatu atribut atau metode bersifat public. Diagram kelas UML mendefinisikan public dan private dalam bentuk simbol positif dan negatif.

Untuk membuat private dengan menggunakan simbol garis bawah dimana untuk protected satu garis bawah (“_”) dan untuk private dua garis bawah (“__”).

Berikut contoh kelas Unisma sebagai induk dan kelas Dosen dan Mahasiswa sebagai anak yang diambil dari materi sebelumnya tentang inheritance/pewarisan. Silahkan gunakan editor Python, misalnya Google Colab untuk menjalankan kode berikut.

class Unisma(object):
  def __init__(self,nama,status,jurusan):
      self.__nama=nama
      self.__status=status
      self.__jurusan=jurusan
  def Salam(self):
      print(‘Selamat Hari Raya Idul Fitri 1442H’)
  def Info(self):
      print(“INFO”)
      print(“Nama    : “ + self._Unisma__nama)
      print(“Jurusan : “ + self._Unisma__jurusan)

Berikutnya untuk kelas Mahasiswa:

class Mahasiswa(Unisma):
  def __init__(self,nama,status,jurusan,npm):
      super().__init__(nama,status,jurusan)      
      self.__npm=npm
  def SalamSiswa(self):
      print(‘Hai teman-teman, kami {} {} mengucapkan’.format(
          self._Unisma__status,self._Unisma__jurusan))
      self.Salam()

Berikutnya coba jalankan dengan instruksi pengaksesan kelas-kelas di atas.

y=Mahasiswa(“Wahyu”,“Mahasiswa”,“Teknik Mesin”,123)
y.SalamSiswa()
y.Info()

Berikut video youtube untuk lebih jelasnya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.