Implementasi OOP Java dengan Konsep Inheritance (Pewarisan)

Implementasi OOP Java dengan Konsep Inheritance (Pewarisan)

I. Pengertian Dasar Inheritance (Pewarisan)

Konsep Pewarisan adalah mekanisme yang memungkinkan sebuah class mewarisi perilaku (behavior), atribut dan method kepada class lain. Dengan konsep Pewarisan, sebuah class dapat mempunyai class turunan. Suatu class yang mempunyai class turunan dinamakan parent class/superclass, sedangkan class turunan itu sendiri dinamakan subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang ada di superclass.



Dapat kita lihat pada variabel class sistemOperasi terdapat simbol hashtag(#) yang berarti hak aksesnya adalah Protected. yang dimana variabel tersebut hanya diwariskan pada SubClass atau class turunannya.

Dan pada SubClass variabel mempunyai hak akses Private (-), dimana variabel tersebut hanya dapat digunakan pada class pemilik.

II. Deklarasi Inheritance

Deklarasi Pewarisan ditandai dengan menambahkan kata extends setelah deklarasi nama class, kata extends tersebut memberitahu kompiler java bahwa kita ingin melakukan perluasan.

public class Linux extends sistemOperasi {
    ....
}

III. Kode Pemrograman dengan Java

1. Pertama kita buat SuperClass terlebih dahulu dengan nama sistemOperasi.

public class sistemOperasi {
    protected String nama;
    protected String developer;

    public String getNama() {
        return nama;
    }

    public void setNama(String nama) {
        this.nama = nama;
    }

    public String getDeveloper() {
        return developer;
    }

    public void setDeveloper(String developer) {
        this.developer = developer;
    }

    public void OSpilihanKamu() {
        System.out.println("Apa OS pilihan kamu?");
    }
}


Setelah membuat SuperClass maka langkah selanjutnya membuat SubClass, disini saya membuat class Linux dan Windows sebagai SubClass.

2. Membuat class Linux sebagai SubClass.

public class Linux extends sistemOperasi {
    private int versi;
    private String fungsi;

    public int getVersi() {
        return versi;
    }

    public void setVersi(int versi) {
        this.versi = versi;
    }

    public String getFungsi() {
        return fungsi;
    }

    public void setFungsi(String fungsi) {
        this.fungsi = fungsi;
    }

    public void LinuxOS() {
        System.out.println("Sistem Operasi " + nama + " dikembangkan oleh " + developer);
        System.out.println("Contohnya: " + nama + " " + versi + " digunakan sebagai " + fungsi);
    }

}


Diatas kita lihat perintah "extends" sebagai perluasan/pewarisan dari SuperClass sistemOperasi, maka class Linux merupakan SubClass dari class sistemOperasi. dan pada baris:

    System.out.println("Sistem Operasi " + nama + " dikembangkan oleh " + developer);

Variable nama dan developer dapat digunakan tanpa dideklarasikan kembali di kelas Linux.

3. Membuat class Windows sebagai SubClass.

public class Windows extends sistemOperasi {
    private int version;
    private String function;

    public int getVersion() {
        return version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    public String getFunction() {
        return function;
    }

    public void setFunction(String function) {
        this.function = function;
    }

    public void WindowsOS() {
        System.out.println("Sistem Operasi " + nama + " dikembangkan oleh " + developer);
        System.out.println("Contohnya: " + nama + " " + version + " digunakan sebagai " + function);
    }
}


4. Membuat main class dengan nama Main untuk menjalankan script code.
Kita bisa mengakses getter dan setter yang ada di class sistemOperasi melalui objek dari class Linux dan Windows.

public class Main {
    public static void main(String[] args) {

        Linux linux = new Linux();
        linux.setNama("CentOS");
        linux.setVersi(7);
        linux.setFungsi("Server");
        linux.setDeveloper("Red Hat");
        System.out.println("Sistem Operasi: " + linux.getNama());
        linux.LinuxOS();

        Windows windows = new Windows();
        windows.setNama("Windows");
        windows.setVersion(10);
        windows.setFunction("Desktop");
        windows.setDeveloper("Microsoft");
        System.out.println("\nSistem Operasi: " + windows.getNama());
        windows.WindowsOS();

    }
}


5. Hasil Output

Sistem Operasi: CentOS
Sistem Operasi CentOS dikembangkan oleh Red Hat
Contohnya: CentOS 7 digunakan sebagai Server

Sistem Operasi: Windows
Sistem Operasi Windows dikembangkan oleh Microsoft
Contohnya: Windows 10 digunakan sebagai Desktop

6. Kesimpulan
Dari percobaan tersebut maka disimpulkan bahwa dengan konsep pewarisan kita bisa memanfaatkan atribut maupun method yang ada pada SuperClass di SubClass tanpa harus mendeklarasikan ulang atribut dan method tersebut.

Postingan populer dari blog ini

Static Routing

Konsep Routing