Memahami konsep turunan inheritance di program Java
Memahami Konsep Turunan (Inheritance) Di Java
Di artikel Memahami Konsep Turunan (Inheritance) Di Java, Anda diperkenal pada konsep turunan (inheritance) di bahasa pemrograman Java. Di artikel ini, Anda dapat mempelajari konsep turunan melalui contoh program Java sederhana. Di dalam konsep turunan membolehkan penggunaan kelas yang sudah ada sebagai superclass untuk mendefinisikan kelas baru turunannya.

Kelas turunan (subclass) akan mewarisi (inherit) data field (properti atau atribut) dan metoda terakses (accessible method) yang dimiliki oleh superclass. Konsep turunan akan menjadikan superclass mempunyai sifat yang lebih umum (general), sedangkan kelas turunannya akan mempunyai sifat yang lebih spesifik.

Kelas turunan dapat didefinisikan lebih cepat dengan memanfaatkan kelas yang ada. Bila definisi kelas turunan berasal dari superclass yang berada di paket berbeda, Anda perlu mengimpor kelas tersebut terlebih dahulu dengan menggunakan kata kunci import. Bila superclass berada di paket yang sama dengan subclass yang didefinisikan, Anda tidak perlu mengimport superclass.

Kelas sebaiknya dikelompokkan menurut jenis dan fungsinya dan diletakkan di nama paket yang menggambarkan kelas tersebut. Kata kunci extends digunakan untuk mendeklarasikan kelas turunan (subclass) dari kelas atasnya (superclass). Dengan kata kunci extends, kelas turunan akan mewarisi data field dan metoda yang dimiliki oleh kelas di atasnya.

Sebenarnya tidak semua data field dan metoda akan diwariskan kepada kelas turunnannya. Data field dan metoda yang dideklarasikan dengan modifier private, tidak akan diwariskan kepada kelas turunannya. Untuk lebih memahami konsep inheritance dengan baik, Anda dapat memahami melalui tiga contoh program Java di artikel ini.

Program pertama adalah kelas PersegiPanjang sebagai superclass. Persegi panjang adalah bangun datar yang memiliki panjang dan lebar sebagai data field. Dari data field panjang dan lebar ini dapat dihitung keliling dan luas dari persegi panjang.

Kode sumber Java (file berekstensi .java) dan hasil kompilasi (file berekstensi .class) dari kelas PersegiPanjang disimpan di direktori c:\filejava\javaapp\kelas\bangun\datar. Program kedua adalah kelas Balok sebagai subclass dari superclass PersegiPanjang.

Balok adalah bangun ruang yang mempunyai panjang, lebar dan juga tinggi sebagai data field. Dari data field panjang, lebar dan tinggi ini, dapat dihitung volume balok. Untuk mempermudah dan mempersingkat pendefinisian kelas Balok, Anda dapat memanfaatkan kelas PersegiPanjang sebagai superclass dari kelas Balok.

Kode sumber dan hasil kompilasi dari kelas Balok kemudian diletakkan di direktori atau paket c:\filejava\javaapp\kelas\bangun\ruang. Program ketiga adalah Kelas DemoBalok yang berisi metoda main untuk menguji kelas Balok. Berikut ini adalah kode program Java dari ketiga kelas tersebut:

1. Kode program kelas PersegiPanjang.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class PersegiPanjang {
 
   // Data field PersegiPanjang
   double panjang = 1.0;
   double lebar = 1.0;
 
   // Konstruktor pertama
   PersegiPanjang() {
   }
 
   // Konstruktor kedua
   PersegiPanjang(double x) {
      panjang = x;
   }
 
   // Kondtruktor kedua
   PersegiPanjang(double x, double y) {
      panjang = x;
      lebar = y;
   }
    
   // Metoda mencari keliling
   double mencariKelilingPP() {
      return 2 * (panjang * lebar);
   }
 
   // Metoda memcari luas
   double mencariLuasPP() {
      return panjang * lebar;
   }
}

2. Kode program kelas Balok.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Nama file : Balok.java
// Mendefinisikan kelas Balok
 
// Meletakkan kelas Balok
package bagun.ruang;
 
// Mengimpor kelas PersegiPanjang
import bangun.datar.PersegiPanjang;
 
// Deklarasi kelas Balok
public class Balok extends PersegiPanjang {
 
   // Deklarasi variabel tinggi
   private double tinggi = 1.0;
 
   // Accessor data field tinggi
   public double getTinggi() {
      return tinggi;
   }
 
   // Mutator data field tinggi
   public void setTinggi(double tinggi) {
      this.tinggi = (tinggi > 1) ? tinggi : 1;
   }
 
   // Mencari volume balok
   public double mencariVolumeB() {
      return mencariLuasPP() * tinggi;
   }
}

3. Kode program kelas DemoBalok.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Nama file : DemoBalok.java
// Menguji kelas Balok
 
// mengimpor kelas
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import bangun.ruang.Balok;
 
// Deklarasi kelas DemoBalok
public class DemoBalok {
 
   // Metoda main
   public static void main(String[ ] args) {
 
      // Mendeklarasikan variabel acuan ke obyek
      DecimalFormat decimalFormat;
      JTextArea textArea;
      Balok balok;
 
      // Membuat obyek Balok
      balok = new Balok();
 
      decimalFormat = new DecimalFormat("0.00");
      String string = "Menggunakan Kelas Balok\n";
 
      string += "\nPanjang balok : " + decimalFormat.format(balok.getPanjang());
      string += "\nLebar balok : " + decimalFormat.format(balok.getLebar());
      string += "\nTinggi balok : " + decimalFormat.format(balok.getTinggi());
      string += "\nVolume balok : " + decimalFormat.format(balok.mencariVolumeB());
 
      // Memodifikasi panjang dan lebar
      string += "\n\nMemodifikasi panjang = 5 dan lebar = 3";
      balok.setPanjang(5);
      balok.setLebar(3);
      string += "\nPanjang balok : " + decimalFormat.format(balok.getPanjang());
      string += "\nLebar balok : " + decimalFormat.format(balok.getLebar());
      string += "\nTinggi balok : " + decimalFormat.format(balok.getTinggi());
      string += "\nVolume balok : " + decimalFormat.format(balok.mencariVolumeB());
 
      // Membuat obyek JTextArea
      textArea = new JTextArea();
 
      // Menampilkan hasil
      textArea.setText(string);
      JOptionPane.showMessageDialog(null, textArea, "Kelas Balok",
         JOptionPane.INFORMATION_MESSAGE);
 
      // Mengakhiri program berpenampilan GUI
      System.exit(0);
   }
}

Memahami konsep turunan inheritance di Java melalui contoh program

Produk Populer

Murah Taffware OKD180 power supply station 220V 69800mAh
Taffware OKD180 Power Supply Station Generator 220V 69800mAh
Rp 1.045.500
(4.8/5)
Murah Fosi Audio DA2120C Power Amplifier
Fosi Audio DA-2120C Bluetooth 5.0 Amplifier 2.1 Channel with Remote
Rp 2.138.900
(5/5)
Murah Fosi Audio BT30D Pro Power Amplifier
Fosi Audio BT30D PRO Bluetooth 5.0 Amplifier 2.1 Channel 165x2+350W
Rp 1.298.600
(5/5)
Murah Taffware OKD320A Power Supply Station 84000mAh 300W
TAFFWARE OKD320A Power Supply Station Generator Portable 84000mAh 300W
Rp 1.543.500
(4.8/5)

Dapatkan DISKON dan GRATIS ONGKIR untuk pembelian melalui aplikasi Tokopedia.