Kelas Python dan Pemrograman Berorientasi Objek
Pengenalan lengkap tentang kelas, objek, pewarisan, dan konsep OOP Python. Buat model data yang kuat dan skalakan aplikasi python Anda.
Ikhtisar
Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman kuat yang banyak digunakan dalam Python untuk menyusun aplikasi yang besar dan kompleks. Berbeda dengan pemrograman prosedural, yang berfokus pada penulisan fungsi sekuensial, OOP berkisar pada konsep "objek". Objek adalah unit mandiri yang menggabungkan data (dikenal sebagai atribut) dan perilaku (dikenal sebagai metode).
Sebuah `kelas` di Python bertindak sebagai cetak biru atau templat untuk membuat objek. Bayangkan sebuah kelas seperti cetak biru arsitektur untuk sebuah rumah. Cetak birunya sendiri bukanlah sebuah rumah, namun mendefinisikan seperti apa rumah itu nantinya dan fitur apa saja yang dimilikinya. Saat Anda membuat instance kelas, Anda membuat "objek" atau "instance" nyata yang dibangun dari cetak biru tersebut. Anda dapat membuat ratusan instance unik dari satu kelas.
Inti dari kelas Python adalah metode `__init__()`, yang sering disebut sebagai konstruktor. Metode khusus ini secara otomatis dijalankan tepat pada saat objek baru dibuat dari suatu kelas. Ini bertanggung jawab untuk menginisialisasi keadaan default objek, melampirkan atribut tertentu ke dalamnya. Parameter `self` wajib diteruskan ke metode instance, bertindak sebagai referensi ke objek spesifik yang sedang dimanipulasi.
Salah satu pilar terkuat OOP adalah Warisan. Warisan memungkinkan Anda membuat kelas baru (kelas anak) yang mewarisi semua atribut dan metode kelas yang sudah ada (kelas induk). Hal ini mendorong penggunaan kembali kode secara besar-besaran. Misalnya, Anda mungkin memiliki kelas `Kendaraan` generik, lalu membuat kelas turunan `Mobil` dan `Truk` yang mewarisi dari `Kendaraan` tetapi menambahkan perilaku spesifiknya sendiri.
Konsep inti lainnya adalah Enkapsulasi, gagasan untuk menyembunyikan keadaan internal suatu objek dan mengharuskan semua interaksi terjadi melalui metode yang ditentukan. Meskipun Python tidak memiliki pengubah akses yang ketat seperti `private` atau `protected`, Python bergantung pada konvensi penamaan (seperti mengawali variabel dengan garis bawah `_`) untuk memberi sinyal bahwa suatu atribut tidak boleh dimanipulasi secara langsung dari luar kelas.
Kode & Output Eksekusi
Mendefinisikan representasi ketat dari instance objek Car dan menggunakan metode kelas untuk mengubah data instance lokal.
class Car:
def __init__(self, make, model):
self.make = make
self.model = model
self.is_running = False
def start(self):
self.is_running = True
return f"{self.make} {self.model} has started."
my_car = Car("Toyota", "Corolla")
print(my_car.make)
print(my_car.start())Toyota
Toyota Corolla has started.Implementasi Langkah demi Langkah
- Memodelkan entitas dunia nyata (Pengguna, Produk, Gerobak)
- Membangun mesin permainan dan sistem komponen entitas
- Membuat komponen antarmuka pengguna grafis yang dapat digunakan kembali
Pertanyaan yang Sering Diajukan
Apa yang dimaksud dengan "diri"?
"self" mewakili instance kelas. Dengan menggunakan kata kunci “self” kita dapat mengakses atribut dan metode kelas dengan python.
Apakah Python mendukung pewarisan berganda?
Ya, Python mengizinkan suatu kelas untuk mewarisi dari beberapa kelas induk.
Topik Terkait
Fungsi master Python. Pelajari cara menulis kode yang dapat digunakan kembali menggunakan def, menentukan argumen, mengembalikan nilai, dan memahami cakupan lokal dan global.
Penanganan Coba/Kecuali & Kesalahan PythonCegah skrip Python Anda agar tidak mogok. Pelajari blok coba, kecuali, akhirnya, dan cara memunculkan pengecualian khusus dengan benar.
Sumber Daya Python yang Direkomendasikan
Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.
Cara Mengurutkan Daftar dengan Python
Pelajari cara mengurutkan daftar dengan Python menggunakan metode sortir() dan fungsi sortir(). Temukan contoh pengurutan kunci khusus dan urutan terbalik.
Lembar
Panduan referensi lengkap untuk manipulasi string Python. Kuasai pemformatan, pencarian, pemisahan, penggantian, dan pemeriksaan properti string.
Python vs JavaScript: Bahasa Pemrograman Mana yang Terbaik?
Perbandingan komprehensif antara Python dan JavaScript. Jelajahi perbedaan sintaksis, kinerja, kasus penggunaan (backend vs frontend), dan contoh pengkodean.