Dari segi bahasa, Polimorfisme (bahasa inggris: Polymorphism ) berasal dari dua kata bahasa latin yakni poly dan morph . Poli berarti banyak, dan morf berarti bentuk. Polimorfisme berarti banyak bentuk ( wikipedia ).
Polymorphism adalah gambaran pola dalam object-oriented programming di mana banyak class memiliki fungsi yang berbeda ketika menggunakan interface dan atau abstract class yang sama.
Masih bingung? ketika banyak class menggunakan interface dan atau abstract class yang sama tapi memiliki fungsi yang berbeda-beda itulah polymorphism.
Polymorphism jika diartikan secara bahasa maka poly berarti banyak dan morph berarti bentuk, jadi polymorphism berarti banyak bentuk.
Dalam polymorphism kita bisa menggunakan abstract class saja atau interface saja atau menggunakan keduanya.
Berikut ini contoh polymorphism pada Interface :
<?php
Interface Hewan {
public function Makan();
public function Bergerak();
public function Beranak();
}
class Burung Implements Hewan {
public function Makan() {
return "Burung makan biji-bijian<br/>";
}
public function Bergerak() {
return "Burung bergerak dengan berjalan, terbang dan melompat<br/>";
}
public function Beranak() {
return "Burung beranak dengan bertelur<br/>";
}
}
class Kambing Implements Hewan {
public function Makan() {
return "Kambing makan rumput<br/>";
}
public function Bergerak() {
return "Kambing bergerak dengan berjalan dan berlari<br/>";
}
public function Beranak() {
return "Kambing beranak dengan melahirkan<br/>";
}
}
$burung = new Burung;
$kambing = new Kambing;
echo "<b>Perilaku Burung : </b><br/>";
echo $burung->Makan();
echo $burung->Bergerak();
echo $burung->Beranak();
echo "<br/>";
echo "<b>Perilaku Kambing : </b><br/>";
echo $kambing->Makan();
echo $kambing->Bergerak();
echo $kambing->Beranak();
?>
Jika program diatas dijalankan akan tampil :
Perilaku Burung :
Burung makan biji-bijian
Burung bergerak dengan berjalan, terbang dan melompat
Burung beranak dengan bertelur
Perilaku Kambing :
Kambing makan rumput
Kambing bergerak dengan berjalan dan berlari
Kambing beranak dengan melahirkan
Dengan polymorphisn maka beberapa object yang sama dapat diimplementasikan melalui method yang baku dan terstruktur sehingga mempermudah saat proses pemrograman.
Polymorphism dengan class abstract
Selain melalui interface, konsep polymorphism juga bisa dilihat pada penerapan class abstract. Namun tentunya penerapan polymorphism disini tidak seluas dan sefleksibel ketika menggunakan Interface. Untuk lebih jelas bisa dilihat pada tulisan tentang Interface dan Class Abstrak.
Berikut ini contoh polymorphism pada Hewan tadi jika dibuat dengan class abstrak :
<?php
abstract class Hewan {
abstract public function Makan();
abstract public function Bergerak();
abstract public function Beranak();
}
class Burung extends Hewan {
public function Makan() {
return "Burung makan biji-bijian<br/>";
}
public function Bergerak() {
return "Burung bergerak dengan berjalan, terbang dan melompat<br/>";
}
public function Beranak() {
return "Burung beranak dengan bertelur<br/>";
}
}
class Kambing extends Hewan {
public function Makan() {
return "Kambing makan rumput<br/>";
}
public function Bergerak() {
return "Kambing bergerak dengan berjalan dan berlari<br/>";
}
public function Beranak() {
return "Kambing beranak dengan melahirkan<br/>";
}
}
$burung = new Burung;
$kambing = new Kambing;
echo "<b>Perilaku Burung : </b><br/>";
echo $burung->Makan();
echo $burung->Bergerak();
echo $burung->Beranak();
echo "<br/>";
echo "<b>Perilaku Kambing : </b><br/>";
echo $kambing->Makan();
echo $kambing->Bergerak();
echo $kambing->Beranak();
?>
2 komentar:
Posting berdasarkan pergerakan hewan, dimana pertama burung dan kambing diklasifikasikan sebagai hewan terlebih dahulu, kemudian menggunakan aksi yang sudah diadakan, diimplementasikan terhadap yang telah diklasifikasikan sebagai hewan, yaitu makan, bergerak, dan beranak.
AJO_QQ poker (k)
kami dari agen poker terpercaya dan terbaik di tahun ini
Deposit dan Withdraw hanya 15.000 anda sudah dapat bermain
di sini kami menyediakan 9 permainan dalam 1 aplikasi
- play aduQ
- bandar poker
- play bandarQ
- capsa sunsun
- play domino
- play poker
- sakong
-bandar 66
-perang baccarat (new game )
Dapatkan Berbagai Bonus Menarik..!! :d
PROMO MENARIK
di sini tempat nya Player Vs Player ( 100% No Robot) Anda Menang berapapun Kami
Bayar tanpa Maksimal Withdraw dan Tidak ada batas maksimal
withdraw dalam 1 hari.Bisa bermain di Android dan IOS,Sistem pembagian Kartu
menggunakan teknologi yang mutakhir dengan sistem Random
Permanent (acak) |
Whatshapp : +855969190856 ;-)
Posting Komentar