Pemrograman Berorientasi Obyek:Enkapsulasi, Pewarisan dan polimorfisme: Difference between revisions

 
(4 intermediate revisions by the same user not shown)
Line 79: Line 79:


Misalnya kita ingin menghitung luas berdasarkan jari-jari (radius) atau diameter.
Misalnya kita ingin menghitung luas berdasarkan jari-jari (radius) atau diameter.
[[File:Enkapsulasi, Pewarisan dan polimorfisme 2.png|center|thumb|Pengaplikasian dalam script]]
Class Lingkaran memiliki dua method yang namanya sama, yakni <code>luas()</code>.
Tapi parameter dan tipe datanya berbeda dan juga isi atau rumus di dalamnya berbeda.
Inilah yang disebut ''polimorfisme satatis''.


==== 2. Dynamic Polymorphism (Polimorfisme dinamis). ====
==== 2. Dynamic Polymorphism (Polimorfisme dinamis). ====
Plimorfisme dinamis biasanya terjadi saat kita menggunakan pewarisan (inheritance) dan implementasi interface.
Seperti yang sudah kita ketahui: Pada pewarisan, kita bisa mewariskan atribut dan method dari class induk ke class anak. Class anak akan memiliki nama method yang sama dengan class induk dan anak yang lainnya.
[[File:Enkapsulasi, Pewarisan dan polimorfisme 3.png|center|thumb|Contoh Dynamic Polymorphism]]
Class anak akan memiliki nama method yang sama, tapi nanti isi dan parameternya bisa berbeda dari class induk.
Karena si class anak melakukan method overriding (mendindih method) yang diwariskannya.
Polimofirme dinamis juga bisa terjadi saat menggunakan interface.
[[Category:Materi]]
[[Category:Matkul]]