OOP Praktis – Instance Method (python)
- OOP Praktis – Class & Object (python)
- OOP Praktis – Instance Method (python)
- OOP Praktis – Encapsulation (python)
- OOP Praktis – Inheritance/pewarisan (python)
Pada artikel pendahuluan tentang OOP, telah disebutkan bahwa selain attribute, sebuah object juga memiliki behavior. Jika attribute dapat kita definisikan pada initializer method, maka behavior dapat kita definisikan dalam bentuk fungsi di dalam class, yang memiliki akses terhadap instance bersangkutan melalui parameter self. Fungsi yang terkait dengan sebuah class dan object yang dibuat darinya, dalam bahasa pemrograman python disebut dengan method.
Perhatikan contoh berikut
class PersegiPanjang: def __init__(self,panjang,lebar): self.panjang = panjang self.lebar = lebar def keliling(self): return 2 * (self.panjang + self.lebar) def luas(self): return self.panjang * self.lebar
Pada class PersegiPanjang di atas, kita menambahkan dua method yakni keliling() dan luas(). Method keliling menghitung keliling setiap object persegi panjang yang dibuat dari class ini. Begitu juga dengan method luas yang menghitung luas object yang sama.
Perhatikan bahwa baik pada method keliling maupun luas, terdapat parameter self untuk merujuk pada instance/object bersangkutan. Berikutnya, pada isi method, awalan self diletakkan sebelum atribut panjang dan lebar, seperti yang juga dilakukan pada class initializer.
Cara mengakses instance method hampir sama dengan cara mengakses attribut, bedanya hanya pada tanda kurung pada akhir nama method, yang jika diperlukan, dilengkapi dengan argumen sesuai kebutuhan method bersangkutan. Pada contoh kode berikut diperlihatkan cara mengakses/memanggil method dimaksud, tepatnya pada baris 2 dan 3.
pp = PersegiPanjang(3,4) keliling_pp = pp.keliling() luas_pp = pp.luas() print ('keliling = ',keliling_pp) print('luas = ',luas_pp)
Kode lengkap
Jalankan kode berikut untuk lebih jelasnya