Judul
Tujuan Pembelajaran
1. Memahami konsep inheritance
2. Menjelaskan manfaat inheritance
3. Mengimplementasikan inheritance dalam Java
4. Menggunakan keyword extends
5. Memahami method overriding
Pengantar OOP
Pemrograman Berorientasi Objek (OOP) terdiri dari:
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
Definisi Inheritance
Inheritance adalah mekanisme pewarisan atribut dan method dari satu class ke class lain.
Konsep Dasar
Tujuan Inheritance
- Reusability kode
- Mengurangi duplikasi kode
- Membentuk hubungan antar class
Contoh Konsep
Struktur Dasar Java
Syntax inheritance:
class Child extends Parent {
}
Contoh Kelas Kendaraan
class Kendaraan {
String merk = "Toyota";
int tahun = 2026;
void tampilInfo(){
System.out.println("Merek : " + merk + ", Tahun : " + tahun);
}
}
Contoh Class Pemanggil
class Main {
public static void main(String[] args) {
Kendaraan k = new Kendaraan();
k.tampilInfo();
k.merk = "Honda";
k.tahun = 2025;
System.out.println("Merek : " + k.merk + ", Tahun : " + k.tahun);
}
}
Contoh Class Child
class Mobil extends Kendaraan {
int jumlahPintu;
}
Main memanggil Mobil
class Main {
public static void main(String[] args) {
Kendaraan k = new Kendaraan();
k.tampilInfo();
k.merk = "Honda";
k.tahun = 2025;
System.out.println("Merek : " + k.merk + ", Tahun : " + k.tahun);
Mobil m = new Mobil();
m.jumlahPintu = 4;
System.out.println("Merek : " + m.merk + ", Tahun : " + m.tahun + ", Jumlah Pintu : " + m.jumlahPintu);
}
}
Contoh Program Lengkap
Keyword extends
Keyword extends digunakan untuk membuat subclass yang mewarisi parent class.
Keuntungan Inheritance
- Menghemat waktu pengembangan
- Struktur program lebih rapi
- Mempermudah pemeliharaan kode
Method Inheritance
Subclass dapat menggunakan method dari superclass tanpa menulis ulang.
Tipe Inheritance
Single inheritance adalah yang paling umum digunakan di Java.
Hierarchical Inheritance
Satu parent memiliki beberapa child class.
Constructor dan Inheritance
Constructor parent dapat dipanggil dengan keyword super().
Keyword super
super digunakan untuk mengakses method atau atribut dari parent class.
Contoh super()
super.tampilInfo();
Best Practice
- Gunakan inheritance jika ada hubungan 'is-a'
- Hindari penggunaan berlebihan
Contoh Soal
Buat class:
1. Hewan
2. Kucing (turunan Hewan)
Tambahkan method suara().
Pembahasan Soal
class Hewan {
void suara(){
System.out.println("Suara hewan");
}
}
class Kucing extends Hewan {
void suara(){
System.out.println("Meong");
}
}
Kesimpulan
Inheritance memungkinkan class mewarisi atribut dan method dari class lain sehingga kode lebih efisien.