Melengkapi Series Basic Python sebelumnya, kali ini kita akan belajar OOP di Python. Sama Seperti hal nya OOP di bahasa pemrograman lain, OOP sudah tentu kita akan membahas
- Class
- Object
- Constructor
- Method
- dsb.
Penulisan (syntax)
class ClassName: #.... #....
atau
class Karyawan(object):
Di python kita bisa membuat Keterangan/Documentasi tentang Class yang kita buat dalam bentuk String
class Karyawan: 'Class ini untuk Urus Karyawan' #akses di luar Classprint Karyawan.__doc__ #output : Class ini untuk Urus Karyawan
Class, Object, Constructor dan Method
Perhatikan contoh berikut :
class Karyawan(object): 'Class ini untuk data Karyawan' jml_karyawan = 0 #Class variable #constructor def __init__(self,kid,nama,jabatan): self.kid = kid self.nama = nama self.jabatan = jabatan Karyawan.jml_karyawan += 1 #method def infoKaryawan(self): print "Karyawan baru masuk" print "===================" print "ID : %s " % self.kid print "Nama : %s " % self.nama print "Jabatan : %s " % self.jabatan #cara mengakses/memakai class/membuat Object obj = Karyawan("K001","Ganjar","Teknisi")obj.infoKaryawan() #tambah karyawan baruobj2 = Karyawan("K002","Nadya","Akunting")obj2.infoKaryawan() #tampilkan total Karyawanprint "-----------------------------"print "Total Karyawan : %d " % Karyawan.jml_karyawan
Program diatas outputnya adalah
Karyawan baru masuk===================ID : K001 Nama : Ganjar Jabatan : Teknisi Karyawan baru masuk===================ID : K002 Nama : Nadya Jabatan : Akunting -----------------------------Total Karyawan : 2
Kita bedah satu-satu Kode diatas
__init__ , apa itu ? __init__ adalah konstruktor . Method yang pertama akan di eksekusi saat kita pertamakali membuat Instance dari Class. Seperti pada bahasa lain kita bisa menambahkan Argumen pada __init__ . Instance dari Class akan di initialiasi di __init__ dan kita bisa memanggilnya dimana saja di dalam class itu.
Self, apa itu ? self adalah Class Instance yang digunakan untuk mengakses Instance
self.kid = kid self.nama = nama self.jabatan = jabatan
bisa juga untuk memanggil Method dalam method lain
def method1(self,arg): print "Argumen %s " % arg def method2(): self.method1("Argumen")
DIbahasa pemrograman lain juga ada self atau this. parameter self dituliskan di urutan pertama dalam Argument method
def method(self, arg1,arg2,arg3....)
Cara memangiil Class umumnya sama saja seperti Bahasa lain
obj = Karyawan("K001","Ganjar","Teknisi")obj.infoKaryawan()
CLass variable ? perhatikan variable jml_karyawan . kita bisa membuat dan mendefinisikan sebuah variable dalam Class . dan bisa di akses dimana saja baik didalam Class itu maupun di luar Class dengan cara Syntax
ClassName.variable_name
#tampilkan total Karyawanprint "-----------------------------"print "Total Karyawan : %d " % Karyawan.jml_karyawan
Perlu diingat bahwa Python tidak seperti OOP layaknya bahasa Lain. karenanya kita tidak mendapati : private, protected dan public . Alasan nya banyak dan jujur saya sulit menerangkannya. yang jelas Pembuat python dan developer nya sudah sepakat bahwa mereka tidak perlu menambahkan fungsionalitas itu.
Jika anda belajar lebih dalam untuk Tujuan apa, untuk ruang-lingkup seperti , cocok untuk sistem seperti apa Python itu. Mungkin kita akan lebih dalam mengetahui alasannya.
Sekian pejelasan singkat OOP Python. masih banyak yang belum dijelaskan dari materi OOP di python. Namun tentu akan dibahas pada artikel OOP Python selanjutnya.