Dalam bahasa berorientasi objek, kelas adalah bagian kode yang dapat diperluas yang mewakili templat untuk membuat dan menggunakan objek dari kelas itu. Objek kelas hanya merujuk ke turunan dari kelas yang ditentukan.
Dasar-dasar Kelas Python
Dalam bahasa pemrograman Python, setiap bagian data direpresentasikan sebagai instance dari beberapa kelas. Jika Anda tidak terbiasa dengan bahasanya, lihat kami panduan pemula untuk Python sebelum melanjutkan.
Sebuah kelas menyediakan sekumpulan perilaku dalam bentuk fungsi anggota (juga dikenal sebagai metode), yang memiliki implementasi yang umum untuk semua instance dari kelas itu, dan itu juga menentukan cara informasi status untuk instance-nya direpresentasikan dalam bentuk atribut.
Baca lebih lajut: Metode Kelas dengan Python: Perbedaan Penting
Kode di bawah ini mewakili contoh kelas yang ditentukan dengan Python. Kelas yang didefinisikan dalam kode menyediakan implementasi kelas RaceCar.
Setiap instance kelas menyediakan model sederhana untuk berbagai merek mobil dan berisi status berikut informasi: nama mobil, nama pengemudi, nomor plat mobil, kecepatan saat ini, muatan ngebut, dan warna.
Kelas mobil ini, memodelkan sensor khusus di dalam setiap mobil yang mendenda $ 50 terhadap pengemudi mobil jika dia melebihi batas kecepatan legal 140 mil per jam.
Contoh Kelas (Kelas Mobil)
Kelas Mobil:
#Konstruksi
#metode init bertanggung jawab untuk menginisialisasi nilai instance #variabel di kelas.
def __init __ (self, car_name, driver_name, license_plate_number,
current_speed, speeding_charge, color):
self.car_name = car_name
self._driver_name = driver_name
self._license_plate_number = license_plate_number
self._current_speed = current_speed
self._speeding_charge = speeding_charge
self._colour = warna
#Metode prosesor
#Metode get_car_name mengembalikan nama mobil
def get_car_name (diri):
return self._car_name
#Metode get_driver_name mengembalikan nama driver
def get_driver_name (self):
return self._driver_name
#Metode get_license_plate mengembalikan pelat nomor mobil
def get_license_plate (sendiri):
kembali self._license_plate
#Metode get_current_speed mengembalikan kecepatan saat ini saat mobil #moving
def get_current_speed (sendiri):
return self._current_speed
#Metode get_speeding_charge mengembalikan jumlah total uang yang
#driver harus membayar untuk ngebut berlebihan
def get_speeding_charge (self):
return self._speeding_charge
#Metode get_colour mengembalikan warna perjalanan manis kami!
def get_colour (diri):
kembalikan self._colour
#Metode Mutator
#Nilai set_driver mengubah pengemudi mobil kita.
def set_driver (self, new_driver):
self._driver_name = new_driver
#Metode speeding_ticket memastikan bahwa pengemudi dikenai biaya 50 dolar ketika # dia ketahuan ngebut di atas 140 mil per jam :(
def speeding_ticket (self, current_speed):
jika kecepatan_kini <= 140:
return False
lain:
self._speeding_charge + = 50
kembali Benar
#Metode make_payment memastikan bahwa pengemudi dapat membayar semua # hutangnya untuk biaya tiket ngebut.
def make_payment (sendiri, jumlah_bayar):
self._speeding_charge - = jumlah_bayar
Penjelasan dari Contoh Kelas Python
Parameter "Diri"
Pertama, perhatikan bahwa ada perbedaan antara tanda tangan metode yang dideklarasikan di kelas dan tanda tangan metode yang digunakan oleh pemrogram untuk memanggil fungsi tersebut. Misalnya, file get_colour metode seperti yang didefinisikan di kelas mengambil satu parameter yang merupakan parameter 'diri'.
Namun, ketika programmer memanggil metode ini pada sebuah instance kelas, dia tidak memberikan parameter apa pun. Fenomena yang sama dapat diamati dalam metode speeding_ticket yang didefinisikan untuk mengambil dua parameter di kelas (yaitu self dan kecepatan_kini), tetapi pemrogram dapat menjalankan metode ini dengan memberikan nilai hanya untuk 'kecepatan_kini' parameter.
Ini karena tujuan dari parameter 'diri' yang disediakan adalah untuk mengikat metode ke contoh objek yang dipanggil dan itu bukan nilai yang akan diberikan oleh pemrogram.
Sang Pembuat
Pembuat kelas mengacu pada metode kelas yang dapat dipanggil pengguna untuk membuat instance objek dari kelas itu. Di kelas Car, pengguna dapat membuat instance objek dengan menggunakan sintaks berikut:
#membuat Bugatti kami sendiri :)
Mobil (“Bugatti”, “David Sasu”, 90828, 0, 0, "Cherry Red")
Eksekusi kode ini menghasilkan panggilan ke metode __init__ di kelas Car. Tanggung jawab metode ini adalah untuk menghasilkan objek mobil kredit yang baru dibuat dengan nilai contoh yang diberikan. Setiap objek kelas Mobil terdiri dari enam variabel instan yaitu:
- _car_name
- _nama pengemudi
- _license_plate
- _kecepatan saat ini
- _speeding_charge
- _warna
Metode Accessor
Ini adalah metode yang ditulis untuk mengakses informasi status dari sebuah instance objek. Di kelas Car, metode pengakses yang ditulis adalah:
- get_car_name
- get_driver_name
- get_license_plate
- get_current_speed
- get_speeding_charge
- get_colour
Metode Mutator:
Ini adalah metode yang ditulis untuk mengubah informasi status dari sebuah instance objek. Pada kelas Car, metode mutator yang ditulis adalah:
- set_driver
- mempercepat tiket
- melakukan pembayaran
Konsep Enkapsulasi
'Enkapsulasi' adalah istilah yang digunakan untuk menggambarkan prinsip desain berorientasi objek di mana komponen program tidak boleh mengungkapkan detail internal implementasi masing-masing. Untuk meningkatkan pemahaman Anda tentang konsep enkapsulasi, lihat kami artikel tentang enkapsulasi.
Error Checking
Implementasi class Car kami tidak kuat karena kemungkinan crash atau malfungsi tergantung pada input yang diterimanya dari programmer.
Pertama, perhatikan bahwa kami tidak memeriksa jenis parameter speeding_ticket dan metode make_payment, juga tidak memeriksa jenis parameter apa pun dari konstruktor. Hal ini dapat menyebabkan program macet jika pengguna memberikan argumen yang tidak diharapkan. Misalnya, jika pengguna membuat panggilan seperti speeding_ticket ("chip ahoy") program akan macet karena jenis yang diharapkan metode tersebut adalah integer dan bukan string.
Sekarang Anda Memahami Dasar-dasar Kelas Python
Pada artikel ini, Anda telah diperkenalkan dengan konsep kelas Python dan objek kelas Python. Anda juga telah diperkenalkan dengan ide-ide di mana kelas python dibangun seperti: enkapsulasi, pengenal 'diri', metode pengakses dan metode mutator.
Dengan informasi ini, Anda seharusnya dapat membuat kelas Python sederhana sendiri dan mengujinya :)
Sekarang, Anda harus memverifikasi identitas Anda melalui perangkat seluler Anda untuk menautkan akun Anda di desktop dan aplikasi web.
- Pemrograman
- Python
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk mendapatkan tip teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Satu langkah lagi…!
Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan kepada Anda.