Inheritance adalah pilar penting dari pemrograman berorientasi objek. Hal ini memungkinkan program Java untuk mewariskan isi fitur satu class terhadap class lainnya.
Terminologi penting:
satu, Super Class: class yang mewariskan fitur disebut sebagai super class atau parent class.
dua, Sub class: class yang mewarisi isi class lainnya disebut sebagai sub class atau derived class, extended class, atau class child. Subclass bisa menambahkan field dan method-nya sendiri sebagai tambahan untuk field atau method dari superclass.
tiga, Reuseability: Konsep pewarisan (inheritance) menyokong konsep "reuseability". Ketika pengembang ingin menciptakan class baru yang sudah ada dan didalamnya terkandung beberapa kode program yang diperlukan, maka dapat digunakan new class dari class yang telah ada sebelumnya. Dengan melakukan hal ini, maka dilakukan penggunaan kembali (reusing) field dan method dari class yang telah diciptakan sebelumnya.
Bagaimana cara menggunakan inheritance pada Java
Keyword yang digunakan untuk melakukan inheritance adalah extends.
sintak:
class derived-class extends base-class
{
//methods and fields
}
Contoh: berikut contoh inheritance. Class Bicycle adalah base class, class MontainBike adalah class derived class yang merupakan extends (turunan) dari Bicycle class dan class Test adalah class driver yang digunakan untuk menjalankan program.
Output:
No of gears are 3
speed of bicycle is 100
seat height is 25
Pada program sebelumnya, ketika objek class MountainBike diciptakan, sebuah duplikasi dari semua method dan field dari superclass mendapat alokasi memori pada objek. Hal hal tersebut, dengan menggunakan objek dari subclass program dapat mengakses anggota dari superclass. catatan bahwa selama proses pewarisan (inheritance) hanya objek dari subclass yang diciptakan, bukan superclass seperti diperlihatkan pada ilustrasi gambar 1.
Dalam praktinya, inheritance dan polymorphism digunakan secara bersama dalam program Java untuk mencapai performa terbaik dari kode program.
Tipe inheritance pada Java
Berikut berbagai tipe inheritance yang didukung pada program Java.
satu, Single inheritance: subclass mewarisi fitur dari satu superclass. pada gambar 2 diperlihatkan class A melayani sebagai base class untuk class B.
Output:
Geeks
for
Geeks
dua, multilevel Inheritance: pada multilevel inheritance, derived (asal) class akan mewariskan base class sekaligus derived class akan bertindak sebagai case class untuk class lainnya. Gambar 3 memperlihatkan class A melayani sebagai base class untuk class B, dimana class B juga bertindak sebagai base class terhadap class C. Pada Java, sebuah class tidak bisa secara langsung mengakses class paling utama secara langsung (grandparent class members).
Output:
Geeks
for
Geeks
tiga, Hierarchical Inheritance: Pada hierarchical inheritance satu class melayani sebagai superclass (base class) untuk lebih dari satu buah sub class. Pada gambar 4, class A melayani sebagai base class untuk derived class B, C, dan D.
Output:
Geeks
for
Geeks
empat, Multiple Inheritance (Through Interfaces): pada multiple inheritance, satu class dapat memiliki lebih dari satu superclass dan mewarisi fitur dari semua parent class. Catatan bahwa Java tidak mendukung multiple inheritance dengan menggunakan class. Pada Java, multiple inheritance dapat dilakukan hanya melalui interface. Gambar 5 class C mewarisi nilai fitur dari interface A dan B.
Output:
Geeks
for
Geeks
lima, Hybrid Inheritance (antar interface): merupakan campuran antara dua atau lebih dari beberapa tipe inheritance. Karena Java tidak mendukung multiple inheritance dengan class, maka hybrid inheritance juga tidak dapat dilakukan. Pada java, hybrid inheritance hanya dapat dilakukan antar interface seperti gambar 6.
Fakta penting mengenai inheritance pada Java
satu, Default superclass: kecuali class objek, dimana tidak memiliki superclass. semua class memiliki satu dan hanya satu direct superclass (single superclass). Dengan tidak adanya superclass eksplisit lainnya, setiap class secara implisit merupakan subclass dari kelas objek.
dua, Superclass hanya ada satu: sebuah superclass dapat memiliki sejumlah subclass. Tetapi subclass dapat memiliki hanya satu superclass. Hal ini karena Java tidak mendukung multiple inheritance dengan class.
tiga, Inheritance constructor: subclass mewarisi semua anggota (field, method, dan class turunan) dari sebuah superclass. Constructor bukanlah anggota dari class, jadi constructor tidak diwariskan oleh subclass, tetapi constructor dari superclass dapat dipanggil dari subclass.
empat, Private member inheritance: Sebuah subclass tidak mewarisi anggota private dari parent class-nya sendiri. Namun demikian, jika superclass memiliki public atau pretected method untuk mengakses field private-nya, maka hal proses pemanggilan dapat dilakukan pada class tersebut.
Terminologi penting:
satu, Super Class: class yang mewariskan fitur disebut sebagai super class atau parent class.
dua, Sub class: class yang mewarisi isi class lainnya disebut sebagai sub class atau derived class, extended class, atau class child. Subclass bisa menambahkan field dan method-nya sendiri sebagai tambahan untuk field atau method dari superclass.
tiga, Reuseability: Konsep pewarisan (inheritance) menyokong konsep "reuseability". Ketika pengembang ingin menciptakan class baru yang sudah ada dan didalamnya terkandung beberapa kode program yang diperlukan, maka dapat digunakan new class dari class yang telah ada sebelumnya. Dengan melakukan hal ini, maka dilakukan penggunaan kembali (reusing) field dan method dari class yang telah diciptakan sebelumnya.
Bagaimana cara menggunakan inheritance pada Java
Keyword yang digunakan untuk melakukan inheritance adalah extends.
sintak:
class derived-class extends base-class
{
//methods and fields
}
Contoh: berikut contoh inheritance. Class Bicycle adalah base class, class MontainBike adalah class derived class yang merupakan extends (turunan) dari Bicycle class dan class Test adalah class driver yang digunakan untuk menjalankan program.
Output:
No of gears are 3
speed of bicycle is 100
seat height is 25
Pada program sebelumnya, ketika objek class MountainBike diciptakan, sebuah duplikasi dari semua method dan field dari superclass mendapat alokasi memori pada objek. Hal hal tersebut, dengan menggunakan objek dari subclass program dapat mengakses anggota dari superclass. catatan bahwa selama proses pewarisan (inheritance) hanya objek dari subclass yang diciptakan, bukan superclass seperti diperlihatkan pada ilustrasi gambar 1.
![]() |
Gambar 1 Konsep Inheritance sumber : geeksforgeeks.org |
Dalam praktinya, inheritance dan polymorphism digunakan secara bersama dalam program Java untuk mencapai performa terbaik dari kode program.
Tipe inheritance pada Java
Berikut berbagai tipe inheritance yang didukung pada program Java.
satu, Single inheritance: subclass mewarisi fitur dari satu superclass. pada gambar 2 diperlihatkan class A melayani sebagai base class untuk class B.
![]() |
Gambar 2 Single Inheritance sumber : geeksforgeeks.org |
Geeks
for
Geeks
dua, multilevel Inheritance: pada multilevel inheritance, derived (asal) class akan mewariskan base class sekaligus derived class akan bertindak sebagai case class untuk class lainnya. Gambar 3 memperlihatkan class A melayani sebagai base class untuk class B, dimana class B juga bertindak sebagai base class terhadap class C. Pada Java, sebuah class tidak bisa secara langsung mengakses class paling utama secara langsung (grandparent class members).
![]() |
Gambar 3 Multilevel Inheritance sumber : geeksforgeeks.org |
Output:
Geeks
for
Geeks
tiga, Hierarchical Inheritance: Pada hierarchical inheritance satu class melayani sebagai superclass (base class) untuk lebih dari satu buah sub class. Pada gambar 4, class A melayani sebagai base class untuk derived class B, C, dan D.
![]() |
Gambar 4 Hierarchical Inheritance sumber : geeksforgeeks.org |
Geeks
for
Geeks
empat, Multiple Inheritance (Through Interfaces): pada multiple inheritance, satu class dapat memiliki lebih dari satu superclass dan mewarisi fitur dari semua parent class. Catatan bahwa Java tidak mendukung multiple inheritance dengan menggunakan class. Pada Java, multiple inheritance dapat dilakukan hanya melalui interface. Gambar 5 class C mewarisi nilai fitur dari interface A dan B.
![]() |
Gambar 5 Multiple Inheritance sumber : geeksforgeeks.org |
Output:
Geeks
for
Geeks
lima, Hybrid Inheritance (antar interface): merupakan campuran antara dua atau lebih dari beberapa tipe inheritance. Karena Java tidak mendukung multiple inheritance dengan class, maka hybrid inheritance juga tidak dapat dilakukan. Pada java, hybrid inheritance hanya dapat dilakukan antar interface seperti gambar 6.
![]() |
Gambar 6 hybrid inheritance sumber : geeksforgeeks.org |
Fakta penting mengenai inheritance pada Java
satu, Default superclass: kecuali class objek, dimana tidak memiliki superclass. semua class memiliki satu dan hanya satu direct superclass (single superclass). Dengan tidak adanya superclass eksplisit lainnya, setiap class secara implisit merupakan subclass dari kelas objek.
dua, Superclass hanya ada satu: sebuah superclass dapat memiliki sejumlah subclass. Tetapi subclass dapat memiliki hanya satu superclass. Hal ini karena Java tidak mendukung multiple inheritance dengan class.
tiga, Inheritance constructor: subclass mewarisi semua anggota (field, method, dan class turunan) dari sebuah superclass. Constructor bukanlah anggota dari class, jadi constructor tidak diwariskan oleh subclass, tetapi constructor dari superclass dapat dipanggil dari subclass.
empat, Private member inheritance: Sebuah subclass tidak mewarisi anggota private dari parent class-nya sendiri. Namun demikian, jika superclass memiliki public atau pretected method untuk mengakses field private-nya, maka hal proses pemanggilan dapat dilakukan pada class tersebut.
Tidak ada komentar:
Posting Komentar
Respon komentar 7 x 24 jam, so please be patient :D