Belajar Python Part#12 - Object Oriented Programming (OOP) Menggunakan Inheritance dan Encapsulation pada Python
Memahami Inheritance pada Python
Memahami Encapsulation pada Python
Memahami Inheritance pada Python
Apa itu Inheritance ? Pewarisan (Inheritance), merupakan bentuk bahasa yang memungkinkan bagi kelas menjadi relasi kelas lainnya, sehingga sebuah subkelas dapat mewarisi sifat dari superkelasnya. Pewarisan pada Bahasa Python dapat memungkinkan untuk mendefinisikan kelas yang mewarisi semua methods dan property dari kelas lain. Dapat didefinisikan sebagai:
Kelas induk (Parent class) adalah kelas yang diwarisi, juga disebut kelas dasar, sedangkan Kelas anak (Child class) adalah kelas yang mewarisi dari kelas lain, juga disebut kelas turunan.
Cara Membuat Kelas Induk (Parent class)
Untuk membuat tipe Kelas(Class) apa pun dapat dijadikan sebagai Kelas Induk (Parent class), jadi aturan penulisannya sama dengan membuat kelas yang lain. Sebagai contoh:
Buatlah class dengan nama Biodata, yang memiliki properti namaLengkap, alamatSekarang, dan kota yang memiliki method CetakNama, sbb:
class Biodata:
def __init__(self, namaLengkap, alamatSekarang, kota):
self.namaLengkap = namaLengkap
self.alamatSekarang = alamatSekarang
self.kota = kota
def CetakBiodata(self):
print(self.namaLengkap, self.alamatSekarang, self.kota)
class Darmayuda(Biodata):
pass
data = Darmayuda('I Ketut Darmayuda, ', 'Lembah Permai Hanjuang, ', 'Cimahi Utara')
data.CetakBiodata()
Hasil: I Ketut Darmayuda, Lembah Permai Hanjuang, Cimahi Utara
Penjelasan:
Membuat class dengan nama Biodata yang akan mewarisi secara fungsionalitas ke class lain, Kelas induk (Parent class) dengan nama Biodata akan mengirim parameter saat membuat Kelas anak (Child class) dengan nama Darmayuda yang mewarisi secara fungsionalitas dari class Biodata, sedangkan kata kunci pass berfungsi untuk melewatkan atau tidak menambahkan property atau method dari kelas lain.
Contoh lain dengan tidak menggunakan kata kunci pass, sbb:
class Biodata:
def __init__(self, namaLengkap, alamatSekarang, kota):
self.namaLengkap = namaLengkap
self.alamatSekarang = alamatSekarang
self.kota = kota
def CetakBiodata(self):
print(self.namaLengkap, self.alamatSekarang, self.kota)
class Mahasiswa(Biodata):
def __init__(self,namaLengkap,alamatSekarang,kota):
Biodata.__init__(self,namaLengkap, alamatSekarang, kota)
Data = Mahasiswa("Diany L., ", "LPH Anggrek, ", "Bandung")
Data.CetakBiodata()
Hasil:
-- Bio Data Mahasiswa --
Diany L., LPH Anggrek, Bandung
Memahami Encapsulation pada Python
Pembungkusan atau Pengkapsulan (Encapsulation), merupakan bentuk bahasa dari pemrograman berorientasi objek yang mana memungkinkan pada program untuk membatasi akses ke class-class program yang lain, sebagai:
Contoh kesatu:
#-- Nama file: Ayahbunda.py --
class Ayahbunda:
def __init__(self, anak_ke1, anak_ke2, anak_ke3):
self.anak_ke1 = anak_ke1
self.anak_ke2 = anak_ke2
self.anak_ke3 = anak_ke3
def BioData(self):
print(self.anak_ke1, self.anak_ke2, self.anak_ke3)
class Suryati(Ayahbunda):
pass #fungsi pass untuk melewati bila tidak
#menggunakan parameter
class AgusWidana(Ayahbunda):
pass
Data1 = Suryati("Gede Watumbara ,", "Made Wiranata, ","Komang Setiawirawan")
Data2 = AgusWidana("Windy, ","Ninda, ","Anindia")
print('-- Putra & Putri dari Ibu Suryati --')
Data1.BioData()
print('')
print('-- Putra & Putri dari Bapak Agus Widana --')
Data2.BioData()
Hasil:
-- Putra dari Ibu Suryati --
Gede Watumbara , Made Wiranata, Komang Setiawirawan
-- Putra dari Bapak Agus Widana --
Windy, Ninda, Anindia
Contoh kedua: dengan parameter
#-- Nama file: Akakbunda.py --
class AnakBunda:
def __init__(self, anak_ke1, anak_ke2, anak_ke3):
self.anak_ke1 = anak_ke1
self.anak_ke2 = anak_ke2
self.anak_ke3 = anak_ke3
def BioData(self):
print(self.anak_ke1, self.anak_ke2, self.anak_ke3)
class Suryati(AnakBunda):
def __init__(self,anak_ke1, anak_ke2, anak_ke3):
AnakBunda.__init__(self,anak_ke1,anak_ke2,anak_ke3)
class AgusWidana(AnakBunda):
def __init__(self,anak_ke1, anak_ke2, anak_ke3):
AnakBunda.__init__(self,anak_ke1,anak_ke2,anak_ke3)
Data1 = Suryati("Gede Watumbara ,", "Made Wiranata, ","Komang Setiawirawan")
Data2 = AgusWidana("Windy, ","Ninda, ","Anindia")
print('-- Putra & Putri dari Ibu Suryati --')
Data1.BioData()
print('')
print('-- Putra & Putri dari Bapak Agus Widana --')
Data2.BioData()
Hasil:
-- Putra dari Ibu Suryati --
Gede Watumbara , Made Wiranata, Komang Setiawirawan
-- Putra dari Bapak Agus Widana --
Windy, Ninda, Anindia
Penutup
Sekian tutorial tentang dasar Pemrograman Python dan dasar Pemrograman Berorientasi Objek (PBO) dengan pokok bahasan memahami Pewarisan (Inheritance) dan Pengkapsulan (Encapsulation) dengan Bahasa Python. Sampai berjumpa kembali pada pembahasan pemrograman Bahasa Python yang lain, seperti ke Data Science dengan Python Pandas, Micro Web Framework denganFlask serta yang lainnya.
Sekian, semoga bermanfaat. Salam🙏
Posting Komentar untuk "Belajar Python Part#12 - Object Oriented Programming (OOP) Menggunakan Inheritance dan Encapsulation pada Python"
Silahkan berikan masukan / komentar yang sopan untuk penyempurnaan
Posting Komentar