Buatlah di Netbeans Polymorphism
Buatlah Java Package dengan nama sepeda
Buatlah Class Bicycle
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package sepeda;
/**
*
* @author Bamboe_RASTA 23
*/
public class Bicycle {
/**
* @param args the command line arguments
*/
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);
}
}
Buatlah class MountainBike
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package sepeda;
/**
*
* @author Bamboe_RASTA 23
*/
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.");
}
}
Buatlah class RoadBike
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package sepeda;
/**
*
* @author Bamboe_RASTA 23
*/
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());
}
}
Buatlah Java Package dengan nama jalankan
Buatlah Class Main
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jalankan;
/**
*
* @author BangONE
*/
import sepeda.Bicycle;
import sepeda.MountainBike;
import sepeda.RoadBike;
/**
*
* @author Bamboe_RASTA 23
*/
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();
}
}
Contoh Program Polymorphism di Java
:)
class Makhluk
{
public void info()
{
System.out.println("info makhluk");
}
}
class Mamalia extends Makhluk
{
public void info()
{
System.out.println("info() pada mamalia..");
}
}
class Sapi extends Mamalia
{
public void info()
{
System.out.println("info() pada sapi..");
}
}
public class poli1
{
public static void main(String[] args)
{
Makhluk tombol;
Mamalia mamalia=new Mamalia();
Sapi sapiSumba=new Sapi();
tombol=mamalia;
tombol.info(); //polymorphism
tombol=sapiSumba;
tombol.info(); //polymorphism
}
}
1. Polymorphic (Banyak bentuk)
Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Contoh program java nya :
Simpan dengan nama CoolMahasiswa.java
public class CoolMahasiswa extends Mahasiswa{
public void printNama(){
System.out.println(“Hallo, saya Mahasiswa yang baik”);
Super.printNama();
}
}
Simpan dengan nama Main.java
public class Main{
public static void main(String[] args]) {
CooltMahasiswa mhs = new CoolMahasiswa();
mhs.setNim(“09530518”);
mhs.setNama(“Nadia Kharisma Ulfah”);
mhs.printNim();
mhs.printNama();
}
}
Kemudian compile dan run.
C:\>javac CoolMahasiswa.java
C:\>javac Main.java
C:\>java Main
Kontruksi objek mahasiswa
Nim:09530518
Hallo, saya Mahasiswa yang baik
Nama:Nadia Kharisma Ulfah
C:\>
Terlihat bahwa disini kita mengoverride method printNama(), dengan menambahkan beberapa teks tambahan, sehingga method printNama(), pada class CoolMahasiswa, memiliki perilaku yang berbeda dengan class Mahasiswa.
2. Inheritance (Pewarisan)
Inheritance (penurunan sifat / pewarisan), ini merupakan ciri khas dari OOP yang tidak terdapat pada pemrograman prosedural gaya lama. Dalam hal ini, inheritance bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan). Obyek turunan dapat digunakan membetuk obyek turunan lagi dan seterusnya. Setiap perubahan pada obyek induk, juga akan mengubah obyek turunannya. Susunan obyek induk dengan obyek turunannya disebut dengan hirarki obyek.
Atau Inheritance yaitu pewarisan sifat-sifat suatu object kepada object turunannya.
Contoh program javanya :
Simpan dengan nama SmartMahasiswa.java
Public class SmartMahasiswa extends Mahasiswa{
}
Simpan dengan nama Main.java
public class Main{
public static void main(String[] args]) {
SmartMahasiswa mhs = new SmartMahasiswa();
mhs.setNim(“09530518”);
mhs.setNama(“Nadia Kharisma Ulfah”);
mhs.printNim();
mhs.printNama();
}
}
kemudian jalankan
C:\>javac SmartMahasiswa.java
C:\>javac Main.java
C:\>java Main
Kontruksi objek mahasiswa
Nim:09530518
Nama:Nadia Kharisma Ulfah
C:\>
3. Enkapsulasi/pengkapsulan(Encapsulation)
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.
Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.
Contoh dalam program
Belajar.Java
class belajar{
public String x =”Pintar”;
private String y = “Java”;
}
Pintar.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Belajar();
System.out.println(“Panggil X : “+panggil.x);
System.out.println(“Panggil Y : “+panggil.y);
}}
Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.
SEMOGA BERMANFAAT
Tidak ada komentar:
Posting Komentar