Inheritance Di Java
Inheritance Di Java
Inheritance artinya penurunan atau pewarisan, dalam pemrograman terutama Java inheritance
adalah pewarisan sifat sifat yang dimiliki sebuah kelas kepada subkelas(kelas turunan).
yang diwariskan diantaranya.
variabel
method
di Java, cara membuat turunan dari sebuah kelas adalah dengan kata extends, misalnya
anda punya Kelas Animal lalu anda ingin memecah lagi menjadi yang lebih spesifik
menjadi Kucing, Anjing, Harimau maka cara membuatnya adalah :
1. membuat kelas bernama Animal
class Animal{}
2. buat turunan dari kelas sepeda yaitu Kucing, Anjing, Harimau
1
class Kucing extends Animal{}
2
class Anjing extends Animal{}
3
class Harimau extends Animal{}
4
baiklah, seperti itulah caranya. mari kita coba membuatnya agar bisa dijalankan programnya
1. buatlah kelas Animal lengkap dengan variabel dan methodnya, jika belum tahu caranya
lihat tutorial sebelumnya
1 class Animal{
2
3
String makanan;
4
String suara;
5
6
//konstruktor
7
public Animal(String makanan, String suara){
8
System.out.println("tercipta hewan yang belum jelas");
9
this.makanan = makanan;
10
this.suara = suara;
11
}
12
13
//method - method
14
void makan(){
15
System.out.println(".....");
16
}
17
18
void bersuara(){
19
System.out.println(".....");
20
}}
5
1
6
1
7
1
8
1
9
2
0
2
1
@Override
2
public void hitungLuas(){
2
double luas ; //deklarasi variabel lokal
2
luas = this.sisi * this.sisi;
3
//mencetak luas
2
System.out.println("luas segi empat dengan sisi "+sisi+" cm adalah "+luas+" cm
4
kuadrat");
2
5
public void hitungKeliling(){
2
double keliling ; //deklarasi variabel lokal
6
keliling = this.sisi * 4;
2
//mencetak luas
7
System.out.println("keliling segi empat dengan sisi "+sisi+" cm adalah "+keliling+"
2
cm.");
8
2
}}
9
3
0
3
1
3
2
3
3
3
4
3
5
3. selanjutnya kita tinggal membuat kelas yang berfungsi untuk mengetes apakah kelas
BangunDatar dan kelas turunannya yaitu SegiEmpat bisa berjalan dengan baik. kita beri
nama kelas ini BangunDatarTest.java , pembuatan kelas ini agar bisa mengetesnya adalah
sebagai berikut :
a. buat kelasnya
public class BangunDatarTest{}
b.agar bisa di RUN maka kelas ini membutuhkan method khusus yaitu method main, kode
kita menjadi
public class BangunDatarTest { public static void main(String[] args){ }}
c. setelah method main ada, maka kita akan menciptakan object dari masing masing kelas
dan kode kita akan menjadi seperti ini
1
2
3
public class BangunDatarTest {
4
public static void main(String[] args){
5
//buat objek dari kelas BangunDatar
6
BangunDatar bd = new BangunDatar();
7
//membuat objek bd melakukan sesuatu
8
bd.hitungLuas();
9
bd.hitungKeliling();
1
0
//buatObjek dari Kelas SegiEmpat dengan nama sg
11
SegiEmpat sg = new SegiEmpat(500);
1
//membuat objek sg melakukan sesuatu sesuai method yang dipunyai oleh kelas
2
segiempat
1
sg.hitungLuas();
3
sg.hitungKeliling();
1
}
4
1
}
5
1
6
sebagai latihan anda juga bisa membuat kelas turunan lainnya dari BangunDatar seperti kelas
persegi panjang, kelas segitiga . tentu variabel dan methodnya akan menyesuaikan dengan
kegunaan dari kelas masing masing, misal untuk kelas persegi panjang variabelnya adalah
panjang dan lebar, lalu untuk segitiga variabelnya adalah alas dan tinggi, untuk methodnya
buatlah methodnya dapat menghitung luas dan keliling sesuai dengan jenis bangun datarnya.
Nah kalau method Bersiul() itu tidak diberikan parameter masukan, maka akan menghasilkan
saya bersiul. Kalau diberikan masukan berupa string ,contohnya kata lagu, maka method
Bersiul(lagu) akam menghasilkan saya bersiul lagu. Kalau diberikan masukan berupa int
akan menghasilkan hasil kali dengan angka 10 :D.
Karena ada 3 jenis parameter masukan (yang satu ga pake masukan sih :P), maka kita
memerlukan 3 kali pendeklarasian method Bersiul() seperti contoh code dibawah ini
?
1public void Bersiul(){
2
System.out.println("saya bersiul");
}
3
4public void Bersiul(String kata){
System.out.println("saya bersiul "+kata);
5}
6public void Bersiul(int angka){
System.out.println("hasil kali " + angka + " dengan 10 adalah " +
7
(angka*10));
8
9}