Uraian Materi Kegiatan Belajar 12 : Pewarisan a. Tujuan Pembelajaran
PEMROGRAMAN BERORIENTASI OBJEK
142 | P a g e
Kapan menerapkan inheritas? Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu
class yang dapat diperluas dari class lain. Misal terdapat class Pegawai public class Pegawai {public String
nama;public double gaji;} Misal terdapat class Manager public class Manajer {public String nama;public double gaji;public String departemen;}
Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan class Pegawai, hanya saja ada tambahan data
member departemen.Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan data member
departemen. Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita
tuliskan seperti berikut : public class Manajer extends Pegawai {public String departemen;}
Keuntungan inheritas Subclass
menyediakan statebehaviour
yang spesifik
yang membedakannya dengan superclass, hal ini akan memungkinkan
programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.
Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan
class dengan behaviour dan state secara umum. Deklarasi inheritas
Di dalam Java untuk mendeklarasikan suatu class sebagai sub class dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi
nama class, kemudian diikuti dengan nama parentclass-nya. Kata kunci extends tersebut memberitahu compiler Java bahwa kita ingin melakukan
perluasan class. Berikut adalah contoh deklarasi inheritance:
public class B extends A{ .....
}
Contoh di atas memberitahukan compiler Java bahwa kita ingin meng- extend class A ke class B. Dengan kata lain, class B adalah subclass
PEMROGRAMAN BERORIENTASI OBJEK
143 | P a g e
class turunan dari class A, sedangkan class A adalah parent class dari class B.
Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent
class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat diamati dengan mudah.
Dalam konsep dasar inheritance dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas extend parentclass-nya. Contoh
: Listing Program
Public class Pegawai{ Public String nama;
Public double gaji; }
Public class Manajer extends Pegawai{ Public String departemen;
}
Pada saat class Manajer menurunkan atau memperluas extend class Pegawai, maka ia mewarisi data member yang dipunyai oleh class
Pegawai. Dengan demikian, class Manajer mempunyai data member yang diwarisi oleh Pegawai nama, gaji, ditambah dengan data member yang ia
punyai departemen. Kontrol Pengaksesan
Pengaksesan member yang ada di parent class dari subclass-nya tidak jauh berbeda dengan pengaksesan member subclass itu sendiri. Contoh:
Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class lain,
ataupun suatu member dapat diakses dari class lain, sangat berhubungan dengan access control control pengaksesan. Di dalam java, kontrol
pengaksesan dapat digambarkan dalam table berikut ini:
PEMROGRAMAN BERORIENTASI OBJEK
144 | P a g e
Tabel 12. Kontrol Pengaksesan Class
Modifier Class yang
sama package
yang sama subclass
Class manapun
Private
Default
Protected
Public