Minggu, 23 Oktober 2011

INFORMATION HIDING, INHERITANCE, ENCAPSULATION, DAN POLYMORPHISM

1.     INHERITANCE
Merupakan penurunan atribut dan method dari suatu kelas super/ kelas induk ke sub kelas/anak kelas. Pewarisan ini bersifat menyeluruh sehingga semua attribute dan method yang dimiliki kelas super dapat dirunkan ke kelas anak.

2.     ENCAPSULATION
Merupakan suatu kemampuan dalam pemrograman berorientasi objek untuk menyembunyikan atribut dan method suatu objek dari objek lain.

3.     POLYMORPHISM
Merupakan satu kata yang memiliki banyak arti, atau modul yang memiliki nama yang sama namun memiliki tingkah laku yang berbeda sehingga implementasinya berbeda

Contoh :
Membuat Program superclass.java
public class SuperClass {
   public SuperClass () {
            System.out.println ("Ini konstruktor milik SuperClass");
   }

   public void methodSuperClass(){
   System.out.println ("Ini method milik SuperClass");
   }
 }

Membuat Program subclass.java
public class SubClass extends SuperClass{
   public SubClass () {
            super();
   }
public void methodSubClass(){
   super.methodSuperClass();
   }
 }
Membuat Program DemoInheritance.java 
public class DemoInheritance{
    public static void main (String[]args) {
            SubClass sc = new SubClass();
            sc.methodSubClass ();
    }
 }

pada contoh diatas terdapat kelas induk dengan nama superclass yang memiliki 2 method dan satu konstruktor (dengan nama superclass) dan juga merupakan salah satu method, dan method dengan nama methodsuperclass. dan juga terdapat subkelas dengan nama subclass yang merupakan turunan dari superclass, hal ini di tandai dengan adanya kata EXTENDS pada subclass. kemudian terdapat satu lagi kelas dengan nama demoinheritance.
hasil dari tag kode di atas yaitu:

Membuat Program Persegi Panjang.java
public class Persegi {

private double panjang;                       //atribut yang disembunykan
private double lebar;               //atribut yang disembunykan
private double tinggi;              //atribut yang disembunykan
 public Persegi (){
            panjang = 0;
            lebar = 0;
}
 private double luas(double p, double l) {
            return p*l;
}
 public void setPanjang(double panjang1) {
            this.panjang = panjang1;
}

public void setLebar(double lebar1) {
            this.lebar = lebar1;
}
 public double getPanjang() {
            return panjang ;
}
 public double getLebar() {
            return lebar;
}
 public double getLuas() {
             return luas(panjang,lebar);
  }

}
 Membuat Program Main Persegi Panjang.java
 public class MainPersegi {
            public static void main (String[]args) {
                        Persegi pg = new Persegi();
                        pg.setPanjang (10);
                        pg.setLebar (20);
                        System.out.println ("Panjang : "+pg.getPanjang());
                        System.out.println ("Lebar : "+pg.getLebar());
                        System.out.println ("Luas : "+pg.getLuas());
 }
}
hasil dari tag kode di atas yaitu:

 

Membuat Program Karyawan.java
abstract class Karyawan {
int gaji;
Karyawan () {
 gaji = 1000000;
 }

int getGaji () {
            return gaji;
 }

 abstract void naikGaji();
}
Membuat Program Manager.java
class Manager extends Karyawan {
  Manager () {
            gaji +=2000000;
  }

  void naikGaji () { gaji+=1000000;}
 }
Membuat Program receptionist.java
 class Receptionist extends Karyawan {
  Receptionist (){
    gaji +=1000000;
    }

    void naikGaji() { gaji+=1000000;}
   }
 Membuat Program Polymorphisme.java
class Polymorphisme {

 public static void main (String[]args) {
 Karyawan K[] = new Karyawan [3];

 K[0] = new Manager ();
 K[1] = new Receptionist ();
 K[2] = new Manager ();

 for (int i=0;i<3;i++)
   System.out.println("Gaji karyawan "+i+" adalah "+K[i].getGaji());

  for (int i=0;i<3;i++)
   K[i].naikGaji();

  for (int i=0;i<3;i++)
  System.out.println("Gaji sekarang  "+i+" adalah "+K[i].getGaji());
  }
}
hasil dari tag kode di atas yaitu

 

Tidak ada komentar:

Posting Komentar