Dasar Java : Interface – Interface dan Pewarisan

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Adalah mungkin bagi suatu interface untuk diwariskan dari interface yang lain, seperti class dapat diwarisi dari class yang lain. Untuk menspesifikasikan pewarisan gunakan keyword extends seperti contoh berikut :


public interface MySuperInterface {

    public void saiHello();

}

public interface MySubInterface extends MySuperInterface {

    public void sayGoodbye();
}

Interface MySubInterface melebarkan/extends interface MySuperInterface. Ini berarti bahwa, MySubInterface mewarisi seluruh field dan metode dari MySuperInterface. Dan kemudian berarti, jika suatu class mengimplementasikan MySubInterface, maka class tersebut harus mengimplementasikan seluruh metode yang didefinisikan baik didalam MySubInterface maupun di MySuperInterface.

Adalah mungkin untuk mendefinisikan metode didalam suatu subinterface dengan signature yang sama (nama + parameter) sebagaimana metode didefinisikan di dalam suatu superinterfaceIt is possible to define methods in a subinterface with the same signature (name + parameters) as methods defined in a superinterface.

Tidak seperti class, interface sebenarnya dapat diturunkan dari banyak superinterface. Kita menspesifikasikan hal tersebut dengan mendaftar seluruh interface yang mewariskannya, dipisahkan oleh koma. Sebuah class yang mengimplementasikan interface yang diwariskan dari banyak interface mestilah mengimplementasikan seluruh metode dari interface tersebut dan superinterface-nya.

Berikut contoh interface yang diwariskan dari banyak interfaces :


public interface MySubInterface extends
    SuperInterface1, SuperInterface2 {

    public void sayItAll();
}

Sebagaimana ketika mengimplementasi banyak interface, tidak ada aturan tentang bagaimana kita menangani situasi saat interface-interface yang ada tersebut memiliki metode dengan signature yang sama (nama + parameter)

About Reza Ervani
Adalah pendiri programming.rezaervani.com -

About Reza Ervani 381 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.