Mengetahui lebih dalam tentang ‘Inheritance atau pewarisan’ dalam Java

Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana sebuah class dapat ‘menurunkanproperty dan method yang dimilikinya kepada class lain. Konsep inheritance digunakan untuk memanfaatkan fitur ‘code reuse’ untuk menghindari duplikasi kode program.

Konsep inheritance membuat sebuah struktur atau ‘hierarchyclass dalam kode program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’ bisa disebut sebagai class anak (child class), sub class, derived class atau heir class.

Tidak semua property dan method dari class induk akan diturunkan. Property dan method dengan hak akses private, tidak akan diturunkan kepada class anak. Hanya property dan method dengan hak akses protected dan public saja yang bisa diakses dari class anak.

ISTILAH INHERITANCE

inheritance / penurunan dari sebuah class kepada class lain menggunakan kata kunci: ‘extends’, dengan penulisan dasar sebagai berikut:

  • Extend : Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
  • Superclass : perclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.
  • Subclass : bclass adalah class anak atau turunan secara hirarki dari superclass.
  • Super : Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.
  • Methode Overriding ; Pen-definisi-an ulang method yang sama pada subclass

Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

Cara Penggunaan Inheritance

Kelas Animal merupakan superclass dari program yang nantinya kelas ini bisa diwariskan ke kelas lainnya.

public class Animal {

public String nama;
public int umur;

public void makan(){

System.out.println(“Sedang Makan”);
}
public void mengeluarkan Suara(){

System.out.println(“Sedang Bersuara”);
}
}

Kelas kucing merupakan subclass dari kelas Animal, karena itu kelas ini akan mewarisi atribut dari kelas Animal.

public class Kucing extendsAnimal{

@Override

public void mengeluarkan Suara()

{System.out.println(“Meong”);

}
}

AnimalTest.java

Kelas ini yang berfungsi sebagai driver untuk menjalankan program, atau bisa disebut juga dengan Main Class.

public class AnimalTest{

 

public static void main(String[] args)

{

Animal animal1 = new Animal();

animal1.nama = “Binatang Abstrak”;

animal1.mengeluarkanSuara();

 

Kucing kucing1 = new Kucing();

kucing1.nama = “Kitten”;

kucing1.mengeluarkanSuara();

 

Animal animal2 = new Kucing();

animal2.nama = “Mew”;

 

}

}

Inilah yang dimaksud dengan enkapsulasi dalam OOP. Membatasi method yang tidak boleh diakses akan membuat kode program menjadi lebih terstruktur.

Referensi/Sumber :https://www.duniailkom.com/tutorial-belajar-oop-php-pengertian-inheritance-pewarisan/

 

Seluk beluk “Enkapsulasi”

Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.

Enkapsulasi program yang mengolah data dengan deklarasi dan penyimpanan data adalah kunci dari rancangan berorientasi-objek. Enkapsulasi dapat dipikirkan sebagai bungkusan (wrapper) pelindung program dan data yang sedang diolah. Pembungkus ini mendefiniskan perilaku dan melindungi program dan data agar tidak diakses sembarangan oleh program lain. Contoh dalam dunia nyata, transmisi otomatis pada mobil mengenkapsulasi ribuan keping informasi dari mesin, seperti percepatan, kemiringan, tanjakan, dan posisi perseneling. Kita sebagai sopir, cukup melakukan satu hal untuk mempengaruhi enkapsulasi yang rumit ini yaitu memindahkan tuas perseneling.

Kita tidak dapat mempengaruhi transmisi dengan menyalakan lampu sein atau wiper. Keampuhan enkapsulasi program adalah setiap orang tahu cara mengkasesnya, sehingga dapat menggunakannya tanpa harus mengerti cara implementasinya secara terperinci. Contoh lain, lusinan pabrik pembuat mobil dapat mengimplemetasikan gambaran tentang transmisi ini ketika membuat system transmisi dengan cara masing-masing.

Karena tujuannya mengenkapsulasi kerumitan, ada mekanisme untuk menyembunyikan kerumitanimplementasi dalam class. Setiap method atau variable dalam class dapat jadi private atau public. Antarmuka public suatu class menunjukan semua yang perlu atau harus diketahui oleh pemakai. Kita dapat menyatakan method dan data instance sebagai private sehingga tidak dapat diakses oleh program lain diluar implementasi class yang kita buat. Antarmuka public harus diplih dengan hati-hati supaya tidak terlalu banyak membuka bagian class

Karena kita dapat menentukan hak akses sebuah variabel/method dari  objek,  dengan  demikian kita  bisa  menyembunyikan  informasi  yang  tidak perlu diketahui objek lain.

  • Contoh Program Enkapsulasi
Gambar 1.0

 

* @author Mr.Hafizd
*/
public class Enkapsulasi {

private String nama;
private int nim;

public String getNama(){
return this.nama;
}

public void ModifNama(String nama){
this.nama=nama;
}
}

  • Contoh class main
    Gambar 1.1

* @author Mr.Hafizd
*/
public class main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Enkapsulasi objek = new Enkapsulasi();
objek.ModifNama(“Muksalmina”);
System.out.println(“Nama : “+objek.getNama());

  }
}

Referensi/Sumber :https://sitisofiah21.wordpress.com/2014/09/20/program-sederhana-enkapsulasi-inheritance-dan-polimorfisme/.

Hello world!

Welcome to Telkom University Student Blog. This is your first post. Edit or delete it, then start blogging!

Percayakan pada Dewa Casino dan biarkan diri Anda terbawa ke dunia emosi tanpa batas, di mana setiap permainan dapat berubah menjadi momen yang tak terlupakan.
Percayakan pada CendanaBet dan biarkan diri Anda terbawa ke dunia emosi tanpa batas, di mana setiap permainan dapat berubah menjadi momen yang tak terlupakan.
JeniusBet adalah kunci Anda untuk mengakses dunia emosi dan kepuasan, siap memberi Anda pengalaman bermain yang tak terlupakan.