Instance method
Fungsi yang menempel pada objek dan mengakses datanya.
Pahami konsepnya
Instance method adalah fungsi yang dideklarasikan di dalam class dan dipanggil dari objek: ari.tambah(25). Parameter pertamanya selalu self — referensi ke objek pemanggil. Di dalam method, atribut diakses lewat self.nama.
Method bisa memanggil method lain lewat self: self.hitung() di dalam method yang sama class. Boleh juga menerima parameter tambahan biasa: def bandingkan(self, lain): menerima objek lain sebagai argumen.
Python membolehkan menambah method setelah class selesai (monkey patching) tapi itu dianggap praktik buruk untuk kode produksi — definisikan semua method di dalam class.
Coba contoh kode
class Siswa:
def __init__(self, nama, poin=0):
self.nama = nama
self.poin = poin
def tambah(self, n):
self.poin += n
def kurang(self, n):
self.poin -= n
def lulus(self):
return self.poin >= 70
ari = Siswa("Ari")
ari.tambah(50)
ari.tambah(25)
print(ari.poin, ari.lulus()) # 75 TrueMethod tambah dan kurang MENGUBAH state objek lewat self; lulus hanya MEMBACA state. Pemanggilannya terbaca seperti kalimat: ari.tambah(50) — "ari, tambah 50".
Latihan singkat
Uji: bandingkan(self, lain) mengembalikan nama poin tertinggi — Ari 50 vs Budi 75, harus `Budi`.