Anda di halaman 1dari 9

POLIMORFISME

SISTEM INFORMASI
Polimorfisme adalah banyak bentuk.

Dalam konsep OOP, polimorfisme memungkinkan untuk


menggunakan suatu interface yang sama untuk memerintahkan
object untuk melakukan aksi atau tindakan yang mungkin
secara prinsip sama akan tetapi secara proses berbeda.

Secara umum, polimorfisme ini sering disebut dengan satu


interface banyak aksi.

Misalnya mobil yang ada dipasaran terdiri dari berbagai merk


dan tipe, akan tetapi semua hanya memiliki satu interface
kemudi yang sama, meliputi: stir, tongkat, transmisi, pedal gas
dan rem tentunya.
Contoh Coding Polimorfisme untuk
pengguna lampu
package poli_penerangan; public class lampu{
protected String on;
/** protected String off;
*
* @author tukino public void setOn(String on){
*/ this.on = on;
}
public class Poli_Penerangan {
public void setOff(String off){
this.off = off;
/** }
* @param args the command line arguments public String getOn(){
*/ return on;
public static void main(String[] args) { }
// TODO code application logic here public String getOff(){
} return off;
}
}
}
public class lampupijar extends lampu{
//deklarasi field nama public class demolampu{
protected String nama; public static void main(String[] args){

public void setNama(String nama){ //membuat refLampu tipe Lampu


this.nama = nama; lampu refLampu;
}

public String getNama(){ /**


return nama; * Instansiasi object lp dari class LampuPijar,
} * dan setvalue method setOn menggunakan object lp
public String getOn(){ */
return on; lampupijar lp = new lampupijar();
} lp.setOn("Lampu Nyala!");
} refLampu = lp; //Lampu menunjuk object lp
public class lampuhalogin extends lampu{ String hasil = refLampu.getOn(); // method getOn dari
public String getOn(){ LampuPijar class dipanggil
return on; System.out.println(hasil);//print data hasil
} }
} }
Contoh coding untuk polimorfisme
Untuk kasus prilaku manusia
public class Siswa extends Manusia {
File Project dan class manusiahebat : @Override
package manusiahebat; void makan(){
public class Manusiahebat { System.out.println("Siswa makan");
public static void main(String[] args) { }
// TODO code application logic @Override
here void tidur(){
}} System.out.println("Siswa tidur");
}
File Class Manusia : @Override
public class Manusia { void bergerak(){
void makan(){ System.out.println("Siswa bergerak");
System.out.println("Manusia makan"); } }}
void tidur(){
System.out.println("Manusia tidur");}
void bergerak(){
System.out.println("Manusia bergerak");
}}
public class Programmer extends Manusia{
public class Karyawan extends Manusia {
@Override
@Override void makan(){
void makan(){ System.out.println("Programmer makan");
System.out.println("Karyawan makan"); } }

@Override @Override
void tidur(){ void tidur(){
System.out.println("Karyawan tidur");} System.out.println("Programmer tidur");}

@Override @Override
void bergerak(){ void bergerak(){
System.out.println("Karyawan bergerak"); System.out.println("Programmer bergerak");
}} }}
File Professor : File test :
public class professor extends Manusia { public class Test {
@Override public static void main(String[] args) {
void makan(){ Manusia [] manusia = new Manusia [4];
System.out.println("Professor makan"); //tipe Manusia di dalam array Manusia.
} manusia[0] = new Siswa();
@Override manusia[1] = new Karyawan();
manusia[2] = new Programmer();
void tidur(){
manusia[3] = new professor();
System.out.println("Professor tidur"); //Sekarang, ketika anda melakukan loop
} //terhadap array tersebut, dan memanggil method dari class Manusia
@Override //maka setiap objek akan melakukan hal yang benar atau
void bergerak(){ //objek akan menggunakan method yang ada di classnya masing-
System.out.println("Professor bergerak"); masing!
}} for (int i = 0; i < manusia.length; i++)
{
manusia[i].makan();
manusia[i].tidur();
manusia[i].bergerak();
System.out.println();
}}}

Anda mungkin juga menyukai