Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Pelajari konsep inheritance (pewarisan) dalam Python dengan penjelasan mudah dan contoh sederhana untuk mempercepat pemahaman kamu tentang OOP.
Inheritance adalah salah satu konsep penting dalam pemrograman berorientasi objek (OOP) di Python. Dengan inheritance, kamu bisa membuat sebuah class baru yang mewarisi sifat dan fungsi dari class yang sudah ada. Ini membuat kode lebih efisien dan mudah untuk dikembangkan.
Inheritance berarti “pewarisan”. Dalam Python, inheritance memungkinkan sebuah class (disebut child class atau subclass) mewarisi atribut dan metode dari class lain (disebut parent class atau superclass). Jadi, child class dapat menggunakan kode yang sudah ada di parent class tanpa perlu menulis ulang.
Untuk membuat inheritance, kamu cukup menuliskan nama parent class di dalam tanda kurung saat membuat class baru.
class Hewan:
def __init__(self, nama):
self.nama = nama
def suara(self):
print("Hewan ini membuat suara.")
class Anjing(Hewan):
def suara(self):
print("Guk guk!")
anjing1 = Anjing("Buddy")
print(anjing1.nama) # Output: Buddy
anjing1.suara() # Output: Guk guk!
Penjelasan contoh di atas:
Hewan
adalah parent class dengan atribut nama
dan metode suara()
.Anjing
adalah child class yang mewarisi dari Hewan
.Anjing
memiliki metode suara()
yang menggantikan (override) metode milik parent class.Kamu bisa mengoverride metode dari parent class dengan membuat metode yang sama di child class, seperti contoh di atas.
Selain itu, kamu juga bisa menambahkan fungsi baru di child class yang tidak ada di parent class.
class Kucing(Hewan):
def suara(self):
print("Meong!")
def pelihara(self):
print(f"{self.nama} sedang dipelihara.")
kucing1 = Kucing("Kitty")
kucing1.suara() # Output: Meong!
kucing1.pelihara() # Output: Kitty sedang dipelihara.
Dalam contoh di atas, pelihara()
hanya ada di Kucing
, bukan di Hewan
.
Kadang-kadang, di child class kamu ingin tetap menggunakan fungsi dari parent class, misalnya pada saat mengubah metode __init__
. Gunakan fungsi super()
untuk memanggil metode parent class.
class Kuda(Hewan):
def __init__(self, nama, warna):
super().__init__(nama) # Panggil __init__ dari Hewan
self.warna = warna
def info(self):
print(f"Kuda bernama {self.nama} berwarna {self.warna}")
kuda1 = Kuda("Flash", "Coklat")
kuda1.info() # Output: Kuda bernama Flash berwarna Coklat
Dengan super().__init__(nama)
, kamu tidak perlu menulis ulang inisialisasi atribut nama
.
Inheritance memudahkan pengelolaan kode ketika kamu bekerja dengan objek yang memiliki sifat umum tetapi juga punya ciri khas sendiri. Dengan pemahaman inheritance, kamu bisa menulis program Python yang lebih bersih dan terorganisir.