Mengelola Class dan Pewarisan (Inheritance) di Java

Mengelola Class dan Pewarisan (Inheritance) di Java

 

 

Pada artikel sebelumnya kami telah membahas tentang Mengenal Enkapsulasi Dan Konstraktor Pada Java, maka pada kesempatan kali ini kita  akan membahas tentang bagaimana mengelola kelas dan menjelaskan tentang inheritance atau pewarisan. Pertama kita akan mempelajari tentang package, apa sih package itu?

Package adalah suatu cara untuk memenej class-class yang kita buat. Package akan sangat bermanfaat jika class-class yang kita buat sangat banyak sehingga perlu dikelompokkan berdasarkan kategori tertentu.

Yang perlu kita perhatikan pada saat deklarasikan package, bahwa class tersebut harus disimpan pada suatu direktori yang sama dengan nama package-nya.

Suatu class dapat meng-import class lainnya sesuai dengan nama package yang dipunyainya. Kata kunci this sangat berguna untuk menunjukkan suatu member dalam classnya sendiri.

This dapat digunakan baik untuk data member maupun untuk function member, serta dapat juga digunakan untuk konstruktor. Adapun format penulisannya adalah:

this.data_member  merujuk pada data member
this.function_member()  merujuk pada function member
this()  merujuk pada konstruktor

Ketika kita memakai konsep inheritance, maka yang harus kita ketahui adalah konstruktor dari parent class tidak dapat diwariskan ke subclass-nya.

Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan.

Dengan konsep inheritance, sebuah class dapat mempunyai class turunan. Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.

Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya.

Berikut adalah contoh deklarasi inheritance. Contoh:

 

public class Mahasiswa extends Person {
    String nim;
    String kelas;

    public Mahasiswa(String nim, String kelas) {
        this.nim = nim;
        this.kelas = kelas;
    }
}

 

Contoh diatas memberitahukan kompiler Java bahwa kita ingin meng-extend class Mahasiswa ke class Person.

Dengan kata lain, class Mahasiswa adalah subclass (class turunan) dari class Person,
sedangkan class Person adalah parent class dari class Mahasiswa.

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
(kontrol pengaksesan).

Di dalam java, kontrol pengaksesan dapat digambarkan dalam Tabel di bawah ini:

Kata kunci super dipakai untuk merujuk pada member dari parent class,
sebagaimana kata kunci this yang dipakai untuk merujuk pada member dari class itu
sendiri.

Adapun format penulisannya adalah sebagai berikut:

super.data_member merujuk pada data member pada parent class
super.function_member() merujuk pada function member pada parent class
super() merujuk pada konstruktor pada parent class

Dalam inheritance, member kelas yang diwariskan hanyalah variabel dan method saja. Sedangkan konstruktorparent class tidak diwariskan ke sub class.

Tetapi ketika suatu obyek anak dibuat dalam artian ketika konstruktor anak dijalankan maka konstruktor parent class dijalankan terlebih dahulu dan selanjutnya menyelesaikan konstruktor anak.

Sekian materi untuk pewarisan atau inheritance semoga bermanfaat. terimakasih

Ditulis oleh : Muchammad Alvin Tri Bachtiar (Peserta didik MIT School)

Related posts:

Loading Facebook Comments ...