Java adalah bahasa pemrograman yang lagi naik daun, kepopulerannya sudah melampui bahasa C.
Hal itu terjadi karena java memiliki beberapa kelebihan
- aplikasi yang dibuat dengan mengunakan java dapat dijalankan di berbagai OS yang didalamnya sudah terdapat Java Virtual Machine (JVM). Bahasa kerennya Write Once Run Any WhereMendukung pemrograman berorientasi object (Fully support OOP)
- Banyak referensi-referensi untuk belajar java, termasuk juga komunitas developer java diinternet
- Banyak contoh program atau pun library yang siap pakai dan dapat digabungkan dengan program yang kita buat
- Gratis / Free
Nah sekarang sudah tertarik belum belajar java ?
Pernah berfikir untuk bisa membuat aplikasi yang dapat berjalan di handphone / blackberry. Kalau mau yah harus belajar java.
Oke, sekarang kita mulai membahas konsep object oriented menggunakan java. Dalam pemrograman berorientasi object, kita harus memandang segala sesuatu sebagai object.
Berbagai benda disekitar kita adalah object seperti meja, kuri, rumah dan lainnya.
Kenalan dengan object dan class
Ada pertanyaan nih, kita kan harus memandang segala suatu sebagai object. Bagaimana caranya kita memindah pemikiran object didunia nyata menjadi object didunia sofware khususnya pemrograman java ?
Sekarang mari kita ambil contoh object burung
Sekarang mari kita perhatkan, burung itu punya nama, mata, kaki, sayap, warna, jenis. Burung juga dapat terbang, berkicau dan berjalan. Mata, kaki sayap dan warna dalam dunia pemrograman disebut juga atribut atau properties. Terbang, berkicau dan berjalan dalam dunia pemrograman disebut jugabehaviour atau method.
class adalah cetakan, template, prototype dari object, sedangkan object adalah instance dari kelas. Satu kelas dapat mempunyai object lebih dari satu atau banyak.
Bingung yah, nggak usah bingung. Ibaratkan saja class itu adalah cetakan kue dan object itu adalah kue dari cetakan tersebut.
Satu cetakan kue menghasilkan banyak kue
Selanjutnya mari kita lanjutkan ke pemrograman javanya.
Untuk membuat sebuah class dengan java sangatlah mudah, cukup gunakan
public class nama_class { }
class biasnya terdiri dari beberapa attribut dan method
Sekarang mari kita buat class Burung.
public class Burung {
String nama; //atribut nama
String jenis; //atribut jenis
String warna; //atribut warna
String sayap; //atribut sayap
//method terbang
public void terbang(){
this.sayap = "mengepak";
System.out.println("Burung "+this.nama+" Sedang Terbang");
}
//method tidur
public void tidur(){
this.sayap = "diam";
System.out.println("Burung "+this.nama+" Sedang Tidur");
}
}
Attribute adalah Berbagai variable yang mengitari class, dengan nilai datanya bisa ditentukan di object. nama, warna, sayap, dan jenis adalah atribute dari class BurungMasih bingung apa itu attribute dan method ?
Method ethod adalah implementasi dari bagaimana bekerjanya sebuah class. terbang dan tidur adalah method atau behaviour dari class Burung
Untuk membuat object baru dari class Burung tersebut kita harus menginstantiate class Burung. Untuk menginstantiate sebuah class gunakan keyword new
Sekarang mari program untuk membuat object dari class Burung.
public class BurungBeraksi {
public static void main(String[] args){
Burung burungnuri = new Burung();//membuat object burungnuri dari class Burung
burungnuri.nama = "Nuri"; //memanggil attribut nama pada object burungnuri dan memberi nilai
burungnuri.warna = "Merah";
System.out.println("Burung "+burungnuri.nama+" warnanya "+burungnuri.warna);
//memangil method terbang object burungnuri
burungnuri.terbang();
System.out.println("Sayapnya "+burungnuri.sayap);
burungnuri.tidur();
System.out.println("Sayapnya "+burungnuri.sayap);
System.out.println("");
Burung burungmerpati = new Burung();//membuat object burungmerpati dari class Burung
burungmerpati.nama = "Merpati";
burungmerpati.warna = "Putih";//memanggil attribut warna pada object burungmerpati dan memberi nilai
System.out.println("Burung "+burungmerpati.nama+" warnanya "+burungmerpati.warna);
//memangil method terbang object burungmerpati
burungmerpati.terbang();
System.out.println("Sayapnya "+burungmerpati.sayap);
burungmerpati.tidur();
System.out.println("Sayapnya "+burungmerpati.sayap);
}
}
Jika class BurungBeraksi di run maka hasilnya :
Burung Nuri Sedang Terbang
Sayapnya mengepak
Burung Nuri Sedang Tidur
Sayapnya diam
Burung Merpati warnanya Putih
Burung Merpati Sedang Terbang
Sayapnya mengepak
Burung Merpati Sedang Tidur
Sayapnya diam
Inheritance
Object Oriented Program memiliki beberapa karakteristik, yang akan kita bahas disini adalah inheritance atau pewarisan.
inheritance adalah pewarisan yang artinya sebuah class dapat mewarisi atribut dan metho dari class lain, sebagai contoh dalam dunia nyata adalah Class Burung menurunkan sifat dan kemampuannya kepada class Bebek. Class Burung sebagai superclass dan mewariskan atribut juga methodnya kepada class Bebek sebagai subclass. Berikut ini gambarannya.
Berikut contoh implementasinya dalam java
Buat Class dengan nama Bebek yang mewarisi class Burung gunakan keyowd extends
Untuk membuktikannya mari bahwa class bebek mewarisi attribut dan method class burung kita buat class BebekBeraksi
public class BebekBeraksi {
public static void main (String[] args){
Bebek bebekku = new Bebek(); //membuat object bebekku dari class bebek
bebekku.nama = "Donald Duck"; //terbukti object bebekku mewarisi attribut nama dari class Burung
bebekku.warna = "Coklat";
System.out.println("Bebek ini bernama "+bebekku.nama+" dan warnanya "+bebekku.warna);
bebekku.tidur(); //terbukti object bebekku mewarisi method tidur nama dari class Burung
bebekku.kaki ="berselaput"; //memanggil object kaki dan menset nilainya
bebekku.berenang();//memanggil method berenang object bebekku
}
}
Jika class BebekBeraksi dirun hasilnya
public
class
Bebek
extends
Burung{
String kaki;
public
void
berenang(){
System.out.println("Bebek berenang menggunakan kakinya yang berselaput"
);
}
}
Untuk membuktikannya mari bahwa class bebek mewarisi attribut dan method class burung kita buat class BebekBeraksi
public class BebekBeraksi {
public static void main (String[] args){
Bebek bebekku = new Bebek(); //membuat object bebekku dari class bebek
bebekku.nama = "Donald Duck"; //terbukti object bebekku mewarisi attribut nama dari class Burung
bebekku.warna = "Coklat";
System.out.println("Bebek ini bernama "+bebekku.nama+" dan warnanya "+bebekku.warna);
bebekku.tidur(); //terbukti object bebekku mewarisi method tidur nama dari class Burung
bebekku.kaki ="berselaput"; //memanggil object kaki dan menset nilainya
bebekku.berenang();//memanggil method berenang object bebekku
}
}
Jika class BebekBeraksi dirun hasilnya
Burung Donald Duck Sedang Tidur
Bebek berenang menggunakan kakinya yang berselaput
Terbuktikan class bebek mewarisi class Burung.
Melihat hasil diatas ada kalimat yang aneh. Yaitu “Burung Donald Duck Sedang Tidur” classnya bebek kok hasilnya burung itu karena yang dipanggil adalah method tidur yang diwarisi dari class burung.
Untuk memperbaikinya kita bisa mengoveride method tidur tersebut. Tambahkan method tidur pada class Bebek, sehingga bentuk programnya menjadi seperti ini.
public class Bebek extends Burung{
String kaki;
public void berenang(){
System.out.println("Bebek berenang menggunakan kakinya yang berselaput");
}
public void tidur(){
System.out.println("Bebek "+this.nama+" Sedang Tidur");
}
}
Run kembali class BebekBeraksi, maka sekarang hasilnya adalah
Bebek Donald Duck Sedang Tidur
Bebek berenang menggunakan kakinya yang berselaput
Sudah tidak ada kalimat yang janggal dan terbukti bahwa method di superclass dapat dioveride oleh subclassnya.
0 komentar:
Posting Komentar
Please Give Your Feedback Or Message.
Thank You!!?