Sabtu, 02 April 2016

TA8_6701154183_GitaVhanieAdisty_D3MI-39-03

RESUME ALPRO 

ABSTRACT CLASS DAN INTERFACE


Disini saya akan membahas secara singkat tentang Abstract Class dan Interface yang berada dalam ranah bahasa Pemrograman Java. Resume ini merupakan tugas dari Pak Reza sebagai tugas akhir praktikum alpro lanjut. So, lets read!

Yang pertama kali harus kita ketahui, bahwa Abstract Class dan Interface merupakan bentuk khusus dari pewarisan (inheritance). Inheritance??? Apa itu?

Review sedikit yaa...
Pewarisan (Inheritance) merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Pewarisan memungkinkan kita untuk mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah maka kelas tersebut semakin spesifik
Misalnya ada kelas A, maka kita dapat membentuk kelas-kelas turunan dari kelas A tersebut (contoh kelas B) yang mewarisi sifat-sifat yang terkandung dalam kelas A. Dalam proses pembuatan kelas turunan tersebut, kita dapat menambahkan sifat dan perilaku baru ke dalam kelas B, yang sebelumnya tidak dimiliki dalam kelas A. Dalam pemrograman java, kelas induk dinamakan dengan superclass dan kelas turunan dinamakan dengan subclass. Untuk membuat kelas anak atau kelas turunan berdasarkan class yang ada, kita dapat menggunakan keyword extends.

Akibat dari bentuk khusus tersebut, muncul masalah berupa pertanyaan:
1. Bagaimana agar method harus di-override oleh subclass?
2. Bagaimana caranya memungkinkan terjadinya multiple inheritance?

Untuk menjawab pertanyaan tersebut maka dibutuhkan Abstract Class dan Interface. Yang pertama akan dibahs ttg Abstract Class dan sekaligus menjelaskan pertanyaan no 1.

1. Abstract Class
Cara agar method harus di-override oleh subclass. Tentunya kita harus tahu apa itu override. Override berarti penulisan suatu method kembali di class yang berbeda. Lebih rinci lagi override berarti memberikan logika yang berbeda di subclass.
Abstract Class sendiri memunculkan Abstract Method, dimana Abstract Method berfungsi untuk memastikan bahwa setiap subclass akan mengoverride Abstract Class. 

Syarat dari Abstract Method
- Tidak memiliki logika body method, yang berarti tidak dapat dibentuk objek
- Abstract Class tidak harus memiliki Abstract Method, namun jika ada harus dituliskan di Abstract Class


Bentuk umum penulisannya:
public abstract class NamaKelas{
       `public abstract void namaMethod();
}

public class konkret extends NamaKelas{
        public void namaMethod(){
        }
}

Jadi, untuk mengoverride suatu method menggunakan Abstract Class. Karena, Absract Class memunculkan  Abstract Method yang bertujuan memastikan  setiap subclass akan mengoverride Abstract Class.

Selanjutnya yaitu...

2. Interface
Inheritance dapat mewariskan sifatnya ke kelas turunan(sublcass) Namun subclass tersebut hanya dapat mewarisi sifat dari satu kelas saja dan tidak bisa mewarisi sifat dari kelas lain. Sehingga untuk mengatasi masalah tersebut dibutuhkan Interface agar suatu kelas turunan dapat mewarisi sifat lebih dari satu class. Dapat disebut juga sebagai multiple inheritance.

Tapi ada dampak yang muncul. Apa???
- Setiap sifat yang dimiliki oleh interface harus di-override oleh subclass
- Setiap method dari interface tidak memiliki logika (body method)


Itulah resume yang dapat saya buat tentang Abstract Class dan Interface. Semoga dapat bermanfaat :)

Tidak ada komentar:

Posting Komentar