Main Menu

Belajar Python Dasar #14: Polymorphism


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar Python Dasar #14: Polymorphism

Halo teman-teman semuanya, pada artikel kali ini kita akan membahas tentang Polymorphism dalam Python. Polymorphism adalah salah satu pilar utama dalam Pemrograman Berorientasi Objek (OOP).

Secara sederhana, polymorphism berarti satu nama, banyak bentuk. Dengan kata lain, sebuah method atau fungsi dapat memiliki perilaku berbeda tergantung objek yang memanggilnya.

Polymorphism pada Method

Polymorphism sering digunakan saat kita memiliki beberapa class berbeda yang semuanya memiliki method dengan nama sama, tetapi perilakunya berbeda.

class Kucing:
    def suara(self):
        return "Meow"

class Anjing:
    def suara(self):
        return "Guk guk"

# Polymorphism in action
hewan = [Kucing(), Anjing()]

for h in hewan:
    print(h.suara())

Output:

Meow
Guk guk

Kedua class (Kucing dan Anjing) sama-sama punya method suara(), tapi hasilnya berbeda sesuai jenis objeknya.

Polymorphism dengan Inheritance

Polymorphism juga erat kaitannya dengan inheritance. Subclass bisa menimpa (override) method dari parent class, lalu dipanggil dengan cara yang sama.

class Hewan:
    def suara(self):
        return "Hewan bersuara"

class Kucing(Hewan):
    def suara(self):
        return "Meow"

class Anjing(Hewan):
    def suara(self):
        return "Guk guk"

# Semua objek diperlakukan sama sebagai 'Hewan'
daftar_hewan = [Kucing(), Anjing(), Hewan()]

for h in daftar_hewan:
    print(h.suara())

Output:

Meow
Guk guk
Hewan bersuara

Walaupun dipanggil dengan cara yang sama (h.suara()), hasilnya berbeda-beda sesuai objek yang digunakan.

Polymorphism dengan Fungsi

Kita juga bisa membuat fungsi yang menerima parameter objek dari berbagai class, asalkan class tersebut memiliki method dengan nama yang sama.

def cetak_suara(hewan):
    print(hewan.suara())

cetak_suara(Kucing())
cetak_suara(Anjing())

Output:

Meow
Guk guk

Fungsi cetak_suara tidak peduli apakah parameter yang dikirim adalah objek Kucing atau Anjing, selama objek itu memiliki method suara().

Polymorphism dengan Built-in Function

Bahkan fungsi bawaan Python juga mendukung polymorphism. Contohnya fungsi len() bisa digunakan pada berbagai tipe data:

print(len("Python"))   # string
print(len([1, 2, 3]))  # list
print(len({"a": 1, "b": 2}))  # dictionary

Output:

6
3
2

Fungsi len() sama-sama dipanggil dengan cara yang sama, tapi perilakunya menyesuaikan tipe data.

Kesimpulan

Pada artikel ini kita sudah belajar tentang Polymorphism di Python. Polymorphism memungkinkan method atau fungsi dengan nama yang sama bekerja dengan cara berbeda tergantung pada objek yang digunakan.

Dengan polymorphism, kode kita menjadi lebih fleksibel, mudah diperluas, dan sesuai dengan prinsip OOP yang powerful.

Setelah ini, kita akan melengkapi pilar OOP dengan konsep Abstraction, yang akan membantu menyembunyikan detail implementasi dan hanya menampilkan interface yang dibutuhkan.

Terima Kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami