#07 PEWARISAN (INHERITANCE)

A. Definisi Inheritance

Inheritance (pewarisan) adalah mekanisme dalam pemrograman berorientasi objek yang memungkinkan sebuah class baru (child/subclass) mewarisi atribut dan method dari class lama (parent/superclass).
Dengan inheritance, programmer tidak perlu menulis ulang kode karena class turunannya dapat menggunakan dan mengembangkan properti yang sudah ada di class induknya.

Analogi:

Bayangkan kamu mewarisi sifat dari orang tua:

  • warna rambut
  • bentuk wajah
  • tinggi badan

Kamu (anak) masih bisa:

  • menggunakan sifat bawaan
  • menambah sifat baru
  • atau mengubahnya (dengan override)

Begitu pula class dalam Java—subclass mewarisi atribut/method dari superclass.


B. Istilah-Istilah Penting dalam Pewarisan

Istilah Penjelasan
Superclass / Parent / Base Class Class yang memberikan warisan.
Subclass / Child / Derived Class Class yang menerima warisan menggunakan extends.
Inheritance / Extends Mekanisme pewarisan.
Method Overriding Subclass mengubah method superclass dengan versi sendiri.
Polymorphism Kemampuan objek mengambil bentuk berbeda pada runtime.
Super keyword Dipakai untuk mengakses atribut/method milik superclass.
Constructor Super Memanggil constructor superclass pada subclass.


C. Konsep Dasar Inheritance

Class induk (superclass)
Class yang memberikan warisan (seperti “orang tua”).
Class anak (subclass)
Class yang menerima warisan (seperti “anak”).

Keyword extends
Digunakan untuk membuat class anak mewarisi class induk.

Contoh sederhana:

Class Hewan.java (Superclass)
public class Hewan {
    public void makan() {
        System.out.println("Hewan sedang makan.");
    }
}

Class Kucing.java (Subclass)
public class Kucing extends Hewan {
    public void suara() {
        System.out.println("Meow!");
    }
}
Class Main.java (Program Utama)
public class Main {
    public static void main(String[] args) {
        Kucing k = new Kucing();
        
        k.makan();   // method dari superclass Hewan
        k.suara();   // method milik class Kucing
    }
}


D. Studi Kasus: Sistem Kendaraan (Inheritance)

Kasus:

Sebuah bengkel ingin membuat aplikasi untuk mencatat kendaraan.
Semua kendaraan memiliki:
  • nomor plat
  • warna
  • method “bergerak”
Tapi jenis kendaraan berbeda:
  • Mobil → punya jumlah pintu
  • Motor → punya jenis transmisi

Code Program:

Buat Class Kendaraan.java (Superclass)

public class Kendaraan {
    String plat;
    String warna;

    public void bergerak() {
        System.out.println("Kendaraan bergerak...");
    }
}
Buat Class Mobil.java (Subclass)
public class Mobil extends Kendaraan {
    int pintu;
}
Buat Class Motor.java (Subclass)
public class Motor extends Kendaraan {
    String transmisi;
}
Buat Class Main.java (Program Utama)
public class Main {
    public static void main(String[] args) {

        Mobil m = new Mobil();
        m.plat = "B 1234 CD";
        m.warna = "Hitam";
        m.pintu = 4;
        m.bergerak();

        Motor mt = new Motor();
        mt.plat = "D 9999 ZZ";
        mt.warna = "Merah";
        mt.transmisi = "Manual";
        mt.bergerak();
    }
}

Posting Komentar

Lebih baru Lebih lama

Formulir Kontak