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.

Coba di Editor

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.

oop_example.py
Coba di Editor
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())
Keluaran Terminal
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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.