OOP (Object Oriented Programming) – Polymorphism

Silver Taurus

OOP (Object Oriented Programming) - Polymorphism

Halo sobat koding… Baiklah… gw akan lanjutkan konsep OOP yang terakhir yaitu . Apa sih Polymorphism itu ?

Polymorphism artinya banyak bentuk. Apa maksudnya ? Maksudnya Class dapat mempunyai nama method yang sama tapi isi dan bentuknya beda. Polymorphism terbagi menjadi 2 jenis.

Static Polymorphism : menggunakan method overloading.

Dynamic Polymorphism : menggunakan method overriding.

Method Overloading terjadi pada sebuah Class yang mempunyai method dengan nama yang sama tapi isi dan bentuknya beda. Berikut contohnya:

Image for post

Gw sudah bikin sebuah Class yang diberi nama BaseShape. Disana terlihat ada 2 method dengan nama yang sama tapi bentuk dan fungsinya beda. Method yang pertama fungsinya untuk mendapatkan luas persegi. Parameter yang gw kasih hanya 1 jenis yaitu untuk sisi persegi. Method yang kedua fungsinya untuk mendapatkan luas persegi panjang. Parameter yang gw kasih ada 2 jenis yaitu untuk panjang dan lebar. Walaupun nama method sama tapi fungsi dan parameternya berbeda. Berikut cara menjalankan nya.

Image for post

Method Overriding terjadi pada Child Class yang dimana nama method sama dengan method yang berada pada Parent Class tapi bentuknya berbeda. Kenapa menyebutkan Child Class dan Parent Class ? Method ini berhubungan dengan konsep Inheritance , method yang bisa diubah bentuknya adalah memiliki access modifier Protected dan Public. Berikut contohnya:

Image for post

Bisa dilihat gw buat Circle Class denga me-extends dari BaseShape Class. Gw mengubah bentuk method getArea() yang berada di BaseShape Class. Ketika mengubah method selalu ditambahkan annotation @Override .

Selain dengan extends, Method Overriding dapat menggunakan interface.

Interface adalah Class kosong yang berisi nama-nama method yang nanti harus diimplementasikan pada Class lain. Dalam pengimplementasiannya bisa saja tiap-tiap Class akan mengimplementasikannya secara berbeda dengan nama method yang sama. Berikut contohnya:

Image for post

Disini kita buat dulu class untuk interface OtherShape. Gw buat sebuah method untuk mendapatkan keliling lingkaran. Lalu gw mengimplementasikan di Circle Class, seperti berikut:

Image for post

Cara menggunakan interface dengan cara menambahkan kata kunci implements dan dilanjutkan dengan nama Interface Class. Interface Class diatas hanya contoh, kalian bisa menambah method lain seperti mehtod void . Berikut cara menjalankan programnya :

Image for post

Disini gw buat property untuk diameter. Hal itu gw buat sebagai contoh agar lingkaran hanya punya 1 nilai diameter. Kemudian gw buat Object yang gw kasih nama circle. Gw lalu menambahkan kode untuk menampilkan data luas dan keliling lingkaran.

Oke berarti semua konsep sudah gw jelasin. Mohon maaf kalo kata-kata gw ada yang membingungkan. Contoh yang gw berikan itu hanya sebatas contoh. Kalian bisa mencoba membuat program-program yang lebih baik dengan menggunakan konsep OOP ().

Sekian dulu dari gw, nanti kita akan bertemu lagi di pembahasaan-pembahasaan selanjutnya. Thank you

See you…

Follow Digstraksi di Google News

Baca Juga

Rekomendasi