Ringkasan tentang Polymorphism Pada Konsep PBO (Java Programming)
- Polymorphism merupakan sesuatu yang mempunyai banyak bentuk.
- Polymorphism sifat class yang memungkinkan sebuah method mempunyai nama yang sama, namun memiliki aksi yang berbeda.
- Dalam pemrograman polymorphism merupakan dapat diartikan suatu modul yang mempunyai nama sama, tapi memiliki behavior yang berbeda sehingga listing code implementasinya berbeda.
- Polymorphism menyediakan menyediakan multiobject dari sub class yang berbeda diperlakukan sebagai object tunggal dari super class.
-
Pada dasarnya ada 2 tipe polymorphism, yaitu:a. Static atau trivialmerupakan, function overloading (penggunaan kembali nama fungi yang sama tapi dgn argumen yang berbeda) yang terbagi dalam 3 signature yaitu:- Jenis Array- Letak Array- Type ArrayContoh function overloading :- void tambah (int a, int b);- void tambah(float d, float c);b. Dynamic atau trueMerupakan function overriding (sebuah fungsi dalam class turunan yang memiliki nama, return type argumen function yang sama dengan fungsi dalam class induk). Menggunakan virtual method.
Contoh :
1. Buat project di netBeans seperti ini:

Buat project
2. Pada Packet Sepeda, class Bicycle.java, isikan code seperti ini:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Sepeda;
/**
*
* @author nay
*/
public class Bicycle {
public int gear;
public int speed;
public int power;
public Bicycle(int startGear, int startSpeed, int startPower)
{
gear = startGear;
speed = startSpeed;
power = startPower;
}
public void setPower( int newValue)
{
power = newValue;
}
public void setGear( int newValue)
{
gear = newValue;
System.out.println("Gear At"+ gear);
}
public void applyBreake(int decrement )
{
speed -= decrement;
}
public void speedUp(int increment)
{
speed += increment;
}
public void printDescription()
{
System.out.println("Bike in gear "+this.gear+" with power "+this.power+" and speed "+this.speed);
}
}
3. Pada Packet Sepeda, class MountainBike.java, isikan code seperti ini:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Sepeda;
/**
*
* @author nay
*/
public class MountainBike extends Bicycle{
private String suspension;
public MountainBike(int startSpeed, int startGear, int startPower, String startSuspension )
{
super(startGear, startSpeed, startPower);
setSuspension(startSuspension);
}
public String getSuspension(){
return this.suspension;
}
public void setSuspension(String suspensionType){
this.suspension = suspensionType;
}
@Override
public void printDescription(){
super.printDescription();
System.out.println("The MountainBike has a" + getSuspension()
+ "suspension.");
}
}
4. Pada Packet Sepeda, class RoadBike.java, isikan code seperti ini:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Sepeda;
/**
*
* @author nay
*/
public class RoadBike extends Bicycle {
private int tireWidth;
public RoadBike(int startSpeed, int startPower, int startGear, int newTireWidth)
{
super(startGear, startSpeed, startPower);
setTireWidth( newTireWidth);
}
public int getTireWidth(){
return this.tireWidth;
}
public void setTireWidth(int newTireWidth){
this.tireWidth = newTireWidth;
}
@Override
public void printDescription(){
super.printDescription();
System.out.println ("The RoadBike has " + getTireWidth());
}
}
5. Pada Packet Jalankan, class Main.java, isikan code seperti ini:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jalankan;
import Sepeda.Bicycle;
import Sepeda.MountainBike;
import Sepeda.RoadBike;
/**
*
* @author nay
*/
public class Main {
public static void main(String[] args) {
Bicycle bike01, bike02, bike03;
bike01 = new Bicycle(20, 10, 1);
bike02 = new MountainBike(20, 10, 5, " Dual ");
bike03 = new RoadBike(40, 20, 8, 23);
MountainBike Ren = new MountainBike(99,9,9," Dual ");
bike01.printDescription();
bike02.printDescription();
bike03.printDescription();
}
}
6. SELESAI, Tinggal jalankan class Main.java, dan hasilnya akan seperti ini:

Hasil
0 komentar:
Posting Komentar