Materi
Method adalah fungsi yang ditulis di dalam kelas. Saat dipanggil lewat objek, misalnya kartu.isi(50000), Python mengirim objek itu sebagai argumen pertama, sehingga pemanggilan tadi sama dengan KartuParkir.isi(kartu, 50000). Di dalam method, self memberi akses ke atribut objek yang memanggilnya: method bisa membaca self.saldo, mengubahnya, atau memanggil method lain lewat self.
class KartuParkir:
tarif = 5000 # atribut kelas: sama untuk semua kartu
def __init__(self, plat, saldo=0):
self.plat = plat # atribut objek: berbeda tiap kartu
self.saldo = saldo
def isi(self, jumlah):
self.saldo += jumlah
def keluar(self, jam):
biaya = jam * self.tarif
if biaya > self.saldo:
return False
self.saldo -= biaya
return True
k = KartuParkir("D 1234 AB", 20000)
print(k.keluar(3), k.saldo) # True 5000
print(k.keluar(2), k.saldo) # False 5000Atribut yang ditulis langsung di badan kelas, di luar method, adalah atribut kelas: satu nilai yang dipakai bersama semua objek. Bentuk ini cocok untuk tetapan seperti tarif per jam. Data yang berbeda untuk tiap objek ditulis lewat self di dalam __init__.
Kapan dipakai: method cocok untuk aturan yang selalu melekat pada datanya, seperti saldo yang tidak boleh minus. Dengan aturan itu di satu tempat, semua bagian program yang memakai objek mengikuti aturan yang sama.