Menerima Turunan Program Java Menggunakan Inheritance
- Super Class: Class yang mewariskan fitur disebut sebagai super class atau parent class.
- 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.
- 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.
Cara Menggunakan Inheritance pada Java
Keyword yang digunakan untuk melakukan inheritance pada Java adalah extends.Sintak: class derived-class extends base-class {/* methods dan field */}
// Program Java
// mengilustrasikan konsep
// inheritance.
/* base class */
class Bicycle
{
// class Bicycle memiliki dua
// field class.
public int gear;
public int speed;
// class Bicycle memiliki satu
// constructor.
public Bicycle(int gear, int speed)
{
this.gear = gear;
this.speed = speed;
}
// class Bicycle memiliki tiga
// method.
public void applyBrake(int decrement)
{speed -= decrement;}
public void speedUp(int increment)
{speed += increment;}
// method toString() untuk
// mencetak info dari Bicycle
public String toString()
{
return("Gigi ke "
+gear
+"\n"
+"Kecepatan Kendaraan"
+" adalah "
+speed);
}
}
/* derived class */
class MountainBike extends Bicycle
{
// subclass MointainBike
// menambahkan satu buah
// field.
public int seatHeight;
// subclass MointainBike
// memiliki satu buah
// constructor.
public MountainBike(int gear,int speed,int startHeight)
{
// memanggil constructor
// base-class(Bicycle).
super(gear, speed);
seatHeight = startHeight;
}
// subclass MountainBike
// menambahkan satu buah
// method.
public void setHeight(int newValue)
{seatHeight = newValue;}
// overriding toString()
// method dari Bicycle untuk
// mencetak infor.
@Override
public String toString()
{
return (super.toString()
+"\nTinggi kursi "
+"adalah "
+seatHeight);
}
}
/* driver class */
public class Test
{
public static void main(String args[])
{MountainBike mb = new MountainBike(3, 100, 25);
System.out.println(mb.toString());}
}
Kecepatan kendaraan adalah 100
Tinggi kursi adalah 25
Pada program sebelumnya, ketika objek class MountainBike diciptakan, sebuah duplikasi dari semua method dan field dari superclass mendapatkan alokasi memori pada object. Dengan menggunakan object dari subclass, maka program dapat mengakses anggota dari superclass. Catatan, bahwa selama proses pewarisan (inheritance) hanya object dari subclass yang diciptakan, bukan superclass seperti diperlihatkan pada ilustrasi gambar 1.
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.
// program java
// mengilustrasikan konsep
// single inheritance.
import java.util.*;
import java.lang.*;
import java.io.*;
class one
{
public void print_bons()
{System.out.println("Makan");}
}
class two extends one
{
public void print_for()
{System.out.println("Nasi");}
}
/* Driver class */
public class Main
{
public static void main(String[] args)
{two g = new two();
g.print_bons();
g.print_for();
g.print_bons();}
}
Nasi
Makan
Baca Juga:
// Program Java
// mengilustrasikan konsep
// multilevel inheritance.
import java.util.*;
import java.lang.*;
import java.io.*;
class one
{
public void print_bons()
{System.out.println("Makan");}
}
class two extends one
{
public void print_for()
{System.out.println("Nasi");}
}
class three extends two
{
public void print_bons()
{System.out.println("Makan");}
}
/* Driver class */
public class Main
{
public static void main(String[] args)
{three g = new three();
g.print_bons();
g.print_for();
g.print_bons();}
}
Nasi
Makan
tiga, Hierarchical Inheritance: Pada hierarchical inheritance satu class melayani superclass (base class) yang lebih dari satu buah sub class. Pada gambar 4, class A melayani base class untuk derived class B, C, dan D.
// Java Program
// mengilustrasikan konsep
// dari hierarchical
// inheritance.
import java.util.*;
import java.lang.*;
import java.io.*;
class one
{
public void print_bons()
{System.out.println("Makan");}
}
class two extends one
{
public void print_for()
{System.out.println("Tidur");}
}
class three extends one
{/*............*/}
/* Drived class */
public class Main
{
public static void main(String[] args)
{three g = new three();
g.print_bons();
two t = new two();
t.print_for();
g.print_bons();}
}
Tidur
Makan
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.
// Program Java
// mengilustrasikan konsep
// multiple inheritance.
import java.io.*;
import java.lang.*;
import java.util.*;
interface one {
public void print_bons();}
interface two {
public void print_for();}
interface three extends one, two {
public void print_bons();}
class child implements three
{
@Override public void print_bons()
{System.out.println("Makan");}
public void print_for()
{System.out.println("Tidur");}
}
// Drived class
public class Main {
public static void main(String[] args)
{
child c = new child();
c.print_bons();
c.print_for();
c.print_bons();
}
}
Tidur
Makan
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.
- Default superclass: Kecuali class object, dimana tidak memiliki superclass. Semua class memiliki satu dan hanya satu direct superclass (single superclass). Dengan tidak adanya superclass eksplisit lainnya, maka setiap class secara implisit merupakan subclass dari kelas object.
- Superclass hanya ada satu: Sebuah superclass dapat memiliki sejumlah subclass. Tetapi subclass hanya dapat memiliki satu superclass. Hal ini karena Java tidak mendukung multiple inheritance dengan class.
- Inheritance constructor: Subclass mewarisi semua anggota (field, method, dan class turunan) dari sebuah superclass. Karena Constructor bukanlah anggota dari class, jadi constructor tidak diwariskan oleh subclass, tetapi constructor dari superclass dapat dipanggil dari subclass.
- Private member inheritance: Sebuah subclass tidak mewarisi anggota private dari parent class-nya sendiri. Namun demikian, jika superclass memiliki method public atau pretected untuk mengakses field private-nya, maka proses pemanggilan dapat dilakukan pada class tersebut.
- Cara Access dan Non Access Modifier Java dan Fungsinya
- Acces Modifier Java dan Fungsinya
- Menggunakan THIS Java dan Fungsinya
- Cara Menggunakan Method Overloading Java dan Fungsinya
- Cara Membuat Program Overriding Java dan Fungsinya
- Cara Menggunakan Overriding Java dan Fungsinya
- Cara Menggunakan Overloading Java dan Fungsinya
5 komentar untuk "Menerima Turunan Program Java Menggunakan Inheritance"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan konsep inheritan atau pewarisan sifat pada pemrograman Java?
BalasHapusInheritance atau pewarisan sifat pada bahasa pemrograman Java adalah suatu mekanisme dimana suatu object memperoleh semua properti dan behavior dari object induk. Ide dibalik konsep inheritance pada Java adalah bahwa user dapat membuat atau menciptakan suatu class baru yang dibangun di atas class yang sudah ada sebelumnya. Ketika user telah mewarisi sifat dari class induk, maka user dapat menggunakan kembali method-method yang terdapat dalam class induk yang telah diciptakan sebelumnya.
HapusInheritan atau pewarisan sifat merupakan suatu mekanisme dimana suatu class akan memperoleh properti dari class lain atua class induk. Contoh, seorang anak yang mewarisi sifat dari kedua orang tuanya. Dengan konsep ini, kita dapat menggunakan kembali bidang dan method yang terdapat pada class sebelumnya.
BalasHapusApa kegunaan dari konsep inheritance pada bahasa pemrograman Java?
BalasHapusSalah satu konsep terpenting dalam pemrograman berorientasi object adalah konsep pewarisan atau inheritance. Inheritance memungkinkan programmer untuk mendefinisikan class dalam istilah class lainnya, yang membuatnya lebih mudah untuk dipelihara pada program-program selanjutnya. Inheritance juga memberikan kesempatan untuk menggunakan kembali suatu fungsi kode dari waktu implementasi yang sebelumnya secara lebih cepat.
Hapus