Pewarisan Pada Java - Ok pada postingan sebelumnya ane udah membahas mengenai
Kelas dan Objek Pada Java, jika masih ada agan yang belum mengeri mengenai
Kelas dan Objek Pada Java ane saranin agan beca dulu deh postingan
Kelas dan Objek Pada Java. Biar lebih gampang belajar
Pewarisan Pada Java ini.
Pewarisan Pada Java
Ok langsung aja deh ane bahas mengenai
Pewarisan Pada Java. Sebelumnya agan juga harus tau dulu apa tujuan belajar
Pewarisan Pada Java ini, dimana tujuannya adalah sebagai berikut:
- Memahami pewarisan tunggal dan pewarisan jamak dalam pemrograman java.
- Mampu mengimplementasikan pewarisan tunggal dalam bahasa pemrograman Java.
Itulah beberapa tujuan kita belajar
Pewarisan Pada Java. Selanjutnya ane akan membahas sedikit dasar teori
Pewarisan Pada Java
ini. Perlu kita ketahui konsep yang mendasari pewarisan adalah
generalisasi. Generalisasi digambarkan sebagai hubungan dari kelas anak
(sub class) ke kelas induk
(super class),
yaitu hubungan antara sebuah objek yang bersifat khusus ke dalam objek
yang lebih umum. Dalam Java pewarisan dibagi menjadi dua macam, yaitu
pewarisan tunggal dan
pewarisan jamak.
Pewarisan tunggal adalah proses pewarisan data dan perilaku
(method) dari kelas induk ke kelas anak. Semua data dan method yang
diwariskan bisa digunakan kembali (reusability) oleh kelas anak. Pada
pewarisan tunggal,
konstruktor kelas induk tidak diwariskan ke kelas turunan. Kelas
turunan menggunakan konstruktor sendiri baik konstruktor default maupun
membuat konstruktor pada kelas turunan itu sendiri. Inisialisasi atribut
kelas dasar dilakukan dengan menggunakan konstruktor kelas dasar yang
dipanggil secara eksplisit pada konstuktor kelas turunan.
Pada Java disediakan modifier penentu aksesibilitas untuk data dan method yakni
private,
public atau
protected. Penentu aksesibilitas ini digunakan untuk membatasi akses terhadap data atau pun method oleh kelas lain.
- private : Membatasi akses hanya untuk kelas itu sendiri dan objek yang diinstans darinya, kelas turunan tidak bisa mengaksesnya.
- protected : Akses hanya diberikan kepada kelas itu sendiri dan kelas turunan yang diturunkan darinya.
- public : Mengijinkan kelas dan sub kelas (kelas turunan) dari package manapun untuk mengaksesnya.
Jadi jelas bahwa akses terhadap atribut atau method pada
pewarisan hanya bisa dilakukan untuk data dan method yang memiliki modifier penentu aksesibilitas public dan protected.
Jenis Pewarisan selanjutnya ialah
Pewarisan Jamak (
Multiple inheritance), yaitu pewarisan yang memungkinkan suatu kelas mewarisi data maupun method yang berasal dari lebih dari satu kelas induk.
Pemorograman Java sebenarnya tidak mengijinkan adanya
pewarisan jamak. Sebagai alternatif dari
pewarisan jamak, Java menyediakan interface.
Interface
adalah kelas yang berisi konstanta dan kumpulan method yang hanya
memuat deklarasi dan struktur method, tanpa ada implementasinya. Di Java
suatu kelas hanya dapat diwarisi oleh satu kelas induk, tetapi dapat
mengimplementasikan lebih dari satu interface. Interface digunakan bila
ingin mengaplikasikan suatu method yang spesifik, yaitu tidak diperoleh
dari pewarisan kelas.
Gimana gan? Dari penjelasan diatas agan-agan sekalian pasti udah sedikit memiliki gambaran bagaimana sebenarnya
Pewarisan Pada Java. Ok untuk lebih jelasnya ane akan berikan kode program yang sederhana mengenai
Pewarisan Pada Java ini, agar agan-agan lebih mengerti mengenai
Pewarisan Pada Java. Simak baik-baik kode program dibawah ini:
Pewarisan Tunggal
Yang pertama agan buat dulu sebuah klas bernama
Kendaraan.java, kemudian samakan kode programnya dengan kode dibawah ini:
public class Kendaraan {
protected String nama;
protected int kapasitasPenumpang;
protected String warna;
/** Creates a new instance of Kendaraan */
public Kendaraan() {
}
public Kendaraan(String _nama,int _penumpang,String _warna) {
setNama(_nama);
setKapasitasPenumpang(_penumpang);
setWarna(_warna);
}
protected void setNama(String _nama){
nama = _nama;
}
protected void setKapasitasPenumpang(int _penumpang){
kapasitasPenumpang = _penumpang;
}
protected void setWarna(String _warna){
warna = _warna;
}
protected String getNama(){
return nama;
}
protected int getKapasitasPenumpang(){
return kapasitasPenumpang;
}
protected String getWarna(){
return warna;
}
}
Setelah selesai buat lagi sebuah klas yang bernama
Mobil.java, samakan kode program dibawah ini pada kelas tersebut:
public class Mobil extends Kendaraan{
private int kapasitasBBM;
public Mobil() {}
public Mobil(String _nama,int _penumpang,String _warna,int _bbm){
super(_nama,_penumpang,_warna);
setKapasitasBBM(_bbm);
}
private void setKapasitasBBM(int _bbm){
kapasitasBBM = _bbm;
}
private int getKapasitasBBM(){
return kapasitasBBM;
}
public void cetakInfo(){
System.out.println("Nama Mobil : " + super.getNama() );
System.out.println("Kapasitas BBM : " + getKapasitasBBM() +
" liter" );
System.out.println("Kapasitas Penumpang : " +
super.getKapasitasPenumpang() + " orang" );
System.out.println("Warna : " + super.getWarna() );
System.out.println("");
}
}
Yang terakhir buat klas
Main.java untuk menampilkannya.
public class Main {
public static void main(String[] args) {
//Membentuk Objek dari kelas Mobil
Mobil xenia = new Mobil("Xenia",6,"Hitam",100);
Mobil avanza = new Mobil("Avanza",8,"Putih",150);
//Memenggil Method CetakInfo dari masing-masing objek
xenia.cetakInfo();
avanza.cetakInfo();
}
}
Kemudian jalankan program.
Untuk Pewarisan Jamak
1. Buat sebuah interface bernama
IcaraPakai.
public interface IcaraPakai {
public void caraMenjalankan();
}
2. Kemudian Modifikasi
Mobil.java menjadi seperti berikut ini.
public class Mobil extends Kendaraan implements IcaraPakai{
private int kapasitasBBM;
public Mobil() {}
public Mobil(String _nama,int _penumpang,String _warna,int _bbm){
super(_nama,_penumpang,_warna);
setKapasitasBBM(_bbm);
}
private void setKapasitasBBM(int _bbm){
kapasitasBBM = _bbm;
}
private int getKapasitasBBM(){
return kapasitasBBM;
}
public void caraMenjalankan(){
System.out.println("Cara Menjalankan Mobil :");
System.out.println("1. Hidupkan Mobil");
System.out.println("2. Injak Kopling");
System.out.println("3. Masukkan gigi 1");
System.out.println("4. Lepas kopling secara perlahan");
System.out.println("5. Injak gas secara perlahan");
}
public void cetakInfo(){
System.out.println("Nama Mobil : " + super.getNama() );
System.out.println("Kapasitas BBM : " + getKapasitasBBM() +
" liter" );
System.out.println("Kapasitas Penumpang : " +
super.getKapasitasPenumpang() + " orang" );
System.out.println("Warna : " + super.getWarna() );
caraMenjalankan();
System.out.println("");
}
}
Kemudian jalankan program.
Demikanlah postingan
Pewarisan Pada Java ini, semoga postingan ini berguna untuk agan-agan yang mmulai belajar OOP terutama pada bahasa pemrograman java.