def get_full_name(self):
return self.fname + self.lname
Kelas – Membuat sebuah kelas
# struktur kelas
# body class, berisi atribut dan metode dari kelas
class Student:
pass
print(mobil_ku.nama) # ”Innova”
print(mobil_ku.warna) # “Merah”
print(mobil_ku.bahan_bakar) # “disel”
Atribut/Properti
⮚ class Mobil:
def __init__(self, nama):
self.nama = nama # atribut objek
Atribut/Properti (lanjutan)
❖ Merupakan fungsi
❖ Menyatakan proses-proses apa saja yang bisa dilakukan oleh
objek
❖ Dapat dikatakan sebagai aksi atau tindakan yang bisa dilakukan
oleh suatu objek (sifat/perilaku dari objek)
❖ Didefiniskan di kelas
Metode – __init__()
❖ Merupakan metode konstruktor, metode khusus yang
digunakan Python untuk menginisialisasi pembuatan objek dari
kelas tersebut
❖ Semua kelas memiliki metode tersebut, yang selalu dijalankan
saat kelas sedang dimulai
❖ Gunakan metode tersebut untuk menetapkan data (nilai) ke
atribut objek atau operasi lain saat pembuatan objek
❖ Metode tersebut dipanggil secara otomatis setiap kali kelas
digunakan untuk membuat objek baru
Metode – __init__() (lanjutan)
❖ Untuk membuat objek dari sebuah kelas, kita bisa memanggil
nama kelas diikuti oleh tanda kurung dengan argumen sesuai
dengan metode __init__() pada saat kita mendefinisikannya
Metode – Argumen self
❖ Argumen pertama yang mereferensi ke kelas yang sedang
dipakai atau saat ini dan dapat digunakan untuk mengakses
atribut milik kelas tersebut
❖ Pada saat pemanggilan metode, argumen ini otomatis
ditambahkan oleh Python. Kita tidak perlu menambahkannya
pada saat memanggil metode
❖ Tidak harus dinamai self, kita dapat menamainya sesuka kita,
tetapi harus menjadi argumen pertama dari metode apa pun di
dalam kelas
Metode – Motode Lain
❖ Kita dapat menambahkan metode lain
❖ Metode-metode tersebut pendefinisiannya sama dengan metode
__init__() atau fungsi pada umumnya
❖ Tetap menggunakan argumen self
Metode – Contoh
class Mobil:
jumlah_mobil = 0
def ambil_jumlah_mobil(self):
return Mobil.jumlah_mobil
def ambil_profil(self):
return “””
Nama: {}
Warna: {}
Bahan Bakar: {}
”””.format(self.nama, self.warna, self.bahan_bakar)
class Student:
school_name = 'Institut Teknologi Sumatera' # class attribute
class Student:
def __init__(self, name):
self._name = name
@property
def get_name(self):
return self._name
@get_name.setter
def get_name(self, newname):
self._name = newname
Catatan: Faktanya, ini tidak
>>> std = Student("Laras", 19)
mencegah atribut objek mengakses
>>> std._name
‘Laras’ atau memodifikasi objek yang
>>> std.get_name('Fatimatul') beratribut protected
'Fatimatul‘
>>> std._name
'Fatimatul'
Modifikasi Akses - Private
❖ Anggota private hanya dapat diakses dari dalam kelasnya
❖ Atribut atau metode yang diawali dengan garis bawah ganda __ membuat atribut atau
metode menjadi private
class Student:
__school_name = 'Institut Teknologi Sumatera' # private class attribute