- Inheritance
Inheritance yaitu
penurunan sifat dari induk class kepada subclass atau anak class.
Contohnya dapat diambil dari contoh
alami yaitu class zebra. Dalam dunia biologi, class zebra adalah hewan
bertulang belakang atau vertebrata yang merupakan mamalia pemakan
rumput/tumbuh-tumbuhan atau bertipe herbivora.
Didalam Java, penurunan sifat tersebut
disebut Inheritance. Penurunan sifat alami tersebut sama dengan
penurunan yang terjadi dalam Java sehingga bisa dijadikan contoh inheritance
dan bisa dituangkan kedalam Java. Dengan konsep pewarisan, seorang programmer
dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali
pada kelas-kelas turunannya tanpa harus menulis ulang semua kode-kode itu.
Contoh program inheritance :
(pada program ini perhatikan kata
kunci extends)
Listing :
class vertebrata{
String status_vertebrata = "Hewan bertulang belakang";
public void bertulang_belakang(String hewan, Boolean status){
if (status==true){
System.out.println(hewan+""+status_vertebrata);
}
else{
status = false;
}
}
}
class mamalia extends vertebrata{
String makanan;
public void menyusui (String hewan){
System.out.println(hewan + "adalah
mamalia karena dia menyusui ");
}
public void herbivora (String hewan, Boolean status){
makanan = "Makan
Tumbuh-tumbuhan";
if (status==true){
System.out.println(hewan +
"" + makanan);
}
else {
status = false;
}
}
public void karnivora (String hewan, Boolean status){
makanan = " Makan Daging ";
if (status==true){
System.out.println(hewan +
"" + makanan);
}
else{
status = false;
}
}
public void omnivora (String hewan, Boolean status){
makanan = " Pemakan Segalanya
";
if (status==true){
System.out.println(hewan +
"" + makanan);
}
else{
status = false;
}
}
}
public class inheritance extends mamalia
{
public
static void main(String[] args) {
inheritance zebra = new inheritance();
zebra.bertulang_belakang("Zebra
", true);
zebra.menyusui("Zebra ");
zebra.herbivora("Zebra ",
true);
}
}
Output :
ketiga class diatas tergabung dalam satu file yakni file inheritance.java. Didalam class inheritance terdapat methode public static void main() yang merupakan constructor utama atau main
ketiga class tersebut dapat di pisah ke dalam 3 file dengan masing2 nama file sesuai dengan nama classnya, hanya tinggal meng-import file java vertebrata.java dan mamalia.java kedalam file inheritance.java yang terdapat metode main/utama
- Polimorfisme
Dalam pemrograman berorientasi object
kita mengenal suatu istilah yaitu Polimorfisme.
Polimorfisme adalah suatu teknik
dalam programming yang lebih mengarahkan kita untuk memprogram secara general
dari pada secara spesifik. Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.
Contoh program java yang menggunakan polimorfisme :
Listing :
// Orang.java
public class Orang{
public String nama;
public String alamat;
//Constructor...
public Orang() {
}
public Orang (String nama) {
this.nama = nama;
}
public Orang(String nama,String
alamat){
this.nama=nama;
this.alamat=alamat;
}
//accessor method mengembalikan nilai
public String getName(){
return nama;
}
//mutator methode untuk mengubah nilai dari instance.
public void setName(String nama){
this.nama = nama;
}
}
//Mahasiswa1.java
public class Mahasiswa1 extends
Orang{
String jeniskelamin;
public Mahasiswa1() {
//super digunakan untuk memanggil
constructor terdekat pada kelas Orang.
super("Olivia");
}
//overidde methode dari kelas Orang..
public String getName(){
return nama;
}
public void setName(String nama){
this.nama = nama;
}
}
// Pekerja.java
public class Pekerja extends Orang{
public
Pekerja() {
super("Mahasiswa");
}
//ovveride dari kelas Person
public String getName(){
return nama;
}
public void setName(String nama){
this.nama = nama;
}
}
// CallOrang.java
public class CallOrang {
public static void main(String[] args){
//contoh polimorfisme di java
Orang call;
Mahasiswa1 m = new Mahasiswa1();
Pekerja n = new Pekerja();
//memanggil dari kelas mahasiswa
call = m;
String smp = call.getName();
System.out.println("Saya dari
bagian Mahasiswa : " + smp);
//memanggil dari kelas pekerja
call = n;
String sma = call.getName();
System.out.println("Saya dari
bagian Pekerja : " + sma);
}
}
Ke-empat class diatas tergabung dalam satu file yaitu “Polimorfisme”. Didalam
class terdapat “Polimorfisme”. methode
public static void main() yang merupakan constructor utama atau main
Ketiga class tersebut saya pisah
ke dalam tiga file, dengan masing-masing nama file, sesuai dengan nama
classnya, hanya tinggal meng-import file java yaitu:
Orang.java , Mahasiswa1.java, dan Pekerja.java.
Kedalam file CallOrang.java yang terdapat metode main/utama.
Output :
Sumber :
Nama : Olivia Yulianda
NPM : 55410279
Kelas : 2IA13