Materi dan Contoh dari Encapsulation, Inheritance, dan Polymorphism
Encapsulation - Inheritance - Polymorphism
oleh Nurmila^^
+ Encapsulation
Maksud dari encapsulation adalah membungkus class dan menjaga apa apa saja yang ada didalam class tersebut, baik method ataupun atribut, agar tidak dapat di akses oleh class lainnya. Untuk menjaga hal tersebut dalam Encapsulation dikenal nama Hak Akses Modifier yang terdiri dari :
a. Private = memberikan hak akses hanya pada class itu sendiri, artinya apa-apa saja yang ada di dalam class A baik itu method ataupun atribut hanya bisa diakses oleh class A saja, class lain tidak bisa mengaksesnya.
b. public = memberikan hak akses kepada atribut atau method agar bisa diakses oleh siapapun (property atau class lain diluar class yang bersangkutan), artinya method atau atribut yang ada diclass A dapat diakses oleh siapaun baik itu class A, class B dan seterusnya.
c. protected = memberikan hak akses kepada class itu sendiri dan class hasil turunannya (inheritance), artinya apa apa saja yang ada diclass A hanya bisa diakses oleh class A sendiri dan class yang meng Extends class A. Namun harus dipahami class lain yang berada dalam satu package dengan class A mampu mengakses tipe data protected, Sedangkan yang tidak mampu mengakses adalah class-class yang berada diluar package class A. untuk dapat mengaksesnya, class yang berada diluar package class A harus meng extends class A.
2 + Inheritance
Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana sebuah class dapat ‘menurunkan’ property 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 ‘hierarchy’ class 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 atauheir 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.
3 + Polymorphysm
Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Contoh program Encapsulation:
Nyoba.Java
class nyoba{
public String a =”Jago”;
private String b = “Java”;
}
Jago.Java
public class Pintar{
public static void main(String[]args){
Coba panggil = new Nyoba();
System.out.println(“Panggil A : “+panggil.a);
System.out.println(“Panggil B : “+panggil.b);
}}
Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam classCoba pada variable a, memungkinkan nilai dari variable a dapat diakses oleh class Belajar. Sedangkan variable b yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.
Contoh program Inheritance :
Simpan dengan nama Jago.java
Public class Jago extends siswa{
}
Simpan dengan nama Main.java
public class Main{
public static void main(String[] args]) {
Jago sis = new Jago();
sis.setNo(“6388”);
sis.setNama(“Mila”);
sis.printNo();
sis.printNama();
}
}
Kemudian di run.
C:\>javac Jago.java
C:\>javac Main.java
C:\>java Main
Kontruksi objek siswa
No:6388
Nama:Mila
C:\>
Contoh program Polymorphism :
jika method yang digunakan pada child class sama dengan parent classnya, maka hal itu harus di override.
package override;
class Animal{
protected void hello(){
System.out.println("Hello");
}
protected void move(){
System.out.println("Animals can move");
}
}
class Dog extends Animal{
@Override
public void move(){
System.out.println("Lions can walk and run"); }
// method tambahan untuk analisa
public void bark(){
System.out.println("Lions can roar");
}
}
public class Override_Test{
public static void main(String args[]){
Animal a = new Animal(); // Animal reference and object
Animal b = new Lion(); // Animal reference but Lion object
a.move();
b.move();
System.out.println();
a.hello();
}
}
Comments
Post a Comment