MODUL 7 PEWARISAN (INTHERITANCE) DAN OVERRIDING
HELLOO!!
Pernah nggak sih kamu ngerasa capek nulis kode yang itu-itu lagi?Atau bingung kenapa program makin lama makin ribet padahal fungsinya mirip? Nah, di sinilah inheritance (pewarisan) dalam Object Oriented Programming (OOP) jadi penyelamat.
Inheritance memungkinkan sebuah kelas “mewarisi” kemampuan dari kelas lain—ibarat anak yang mewarisi sifat orang tuanya. Dengan konsep ini, kita bisa menulis kode yang lebih singkat, rapi, dan mudah dikembangkan, tanpa harus mengulang-ulang baris kode yang sama.
Di artikel ini, kamu akan mengenal konsep inheritance dalam OOP menggunakan Python, lengkap dengan contoh kode sederhana seperti Animal, Vehicle, hingga penggunaan super(). Materi ini cocok buat kamu yang baru belajar OOP maupun yang ingin memperkuat pemahaman dasar pemrograman berorientasi objek secara praktis dan mudah dipahami.
1. Pewarisan (Inheritance)
a).Konsep Inheritance dalam OPP
- Animal adalah superclass yang memiliki metode speak().
- Dog adalah subclass yang mewarisi kelas Animal.
- Kata kunci pass berarti subclass tidak menambahkan atribut atau metode baru.
- Objek dog dari kelas Dog dapat memanggil metode speak() karena metode tersebut diwarisi dari superclass Animal.
- Vehicle adalah superclass dengan atribut brand dan model, serta metode show_info().
- Car adalah subclass yang mewarisi Vehicle.
- Fungsi super().__init__() digunakan untuk memanggil constructor dari superclass agar atribut brand dan model tetap digunakan.
- Metode show_info() di subclass meng-override metode superclass, tetapi tetap memanggil metode induknya dengan super().show_info()
- Person adalah superclass yang memiliki atribut name dan age.
- Employee adalah subclass yang mewarisi Person dan menambahkan atribut employee_id.
- Method super() digunakan untuk memanggil constructor dan metode display() dari superclass.
- Subclass menambahkan informasi baru tanpa menghilangkan fungsi dari superclass.
- Pewarisan satu arah
- Bird hanya mewarisi satu superclass, yaitu Animal.
- Objek bird dapat memanggil metode move() dari Animal dan fly() dari Bird
- Pewarisan Bertingkat
- Animal → superclass paling atas.
- Bird adalah subclass dari Animal.
- Penguin adalah subclass dari Bird.
- Objek penguin dapat mengakses metode dari semua tingkat pewarisan.
- Product adalah superclass yang menyimpan atribut umum (name, price).
- super().__init__ digunakan agar kelas anak tidak perlu menulis ulang logika inisialisasi nama dan harga.
- super().display_product() memanggil fungsi cetak dari induk sebelum menambahkan informasi spesifik (seperti garansi atau ukuran).
Penjelasan:Saat dog.sound() dipanggil, Python menjalankan versi yang ada di kelas Dog, bukan di kelas Animal.
Komentar
Posting Komentar