Pemrograman Berorientasi Obyek:Enkapsulasi, Pewarisan dan polimorfisme: Difference between revisions
m Kangtain moved page Materi/Pemrograman Berorientasi Obyek/Enkapsulasi, Pewarisan dan polimorfisme to Pemrograman Berorientasi Obyek:Enkapsulasi, Pewarisan dan polimorfisme over redirect |
|||
| (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]] | |||