Pages

Jumat, 09 Desember 2011

Perubahan Bentuk/ Polymorphysm (PBO)

Sekarang,  class  induk  Person  dan  subclass  Student  dari  contoh  sebelumnya,  kita tambahkan subclass lain dari Person yaitu Employee. Dalam Java, kita dapat membuat referensi yang merupakan tipe dari superclass ke sebuah object dari subclass tersebut. Sebagai contohnya,

public static main( String[] args )
{
  Person   ref;

Student  studentObject = new Student();
  Employee  employeeObject = new Employee();

ref = studentObject; //Person menunjuk kepada
              // object Student 

//beberapa kode di sini
  }
  
Sekarang  dimisalkan  kita  punya  method  getName  dalam  superclass  Person  kita,  dan  kita
override method ini dalam kedua subclasses Student dan Employee,

public class Person
{
  public String getName(){
    System.out.println(“Person Name:” + name);
    return name;
  }
}
public class Student extends Person
{
  public String getName(){
    System.out.println(“Student Name:” + name);
    return name;
  }
}





public class Employee extends Person
{
  public String getName(){
    System.out.println(“Employee Name:” + name);
    return name;
    }  
    
Kembali  ke  method  utama  kita,  ketika  kita  mencoba  memanggil  method  getName  dari
reference Person ref, method getName dari object Student akan dipanggil. Sekarang, jika
kita berikan ref ke object Employee, method getName dari Employee akan dipanggil.

  public static main( String[] args )
{
  Person   ref;

Student  studentObject = new Student();
  Employee  employeeObject = new Employee();

ref = studentObject; //Person menunjuk kepada 
            // object Student 
  String temp = ref.getName(); //getName dari Student 
            //class dipanggil
  System.out.println( temp );

ref = employeeObject; //Person menunjuk kepada
          // object Employee    
  
  String temp = ref.getName(); //getName dari Employee 
            //class dipanggil
  System.out.println( temp );
  } 

Kemampuan dari reference untuk mengubah sifat menurut object apa yang dijadikan acuan dinamakan  polimorfisme.  Polimorfisme  menyediakan  multiobject  dari  subclasses  yang berbeda  untuk  diperlakukan  sebagai  object  dari  superclass  tunggal,  secara  otomatis menunjuk  method  yang  tepat  untuk  menggunakannya  ke  particular  object  berdasar subclass yang termasuk di dalamnya.

Contoh  lain  yang  menunjukkan  properti  polimorfisme  adalah  ketika  kita  mencoba  melalui reference  ke  method.  Misalkan  kita  punya  method  static  printInformation  yang mengakibatkan  object  Person  sebagai  reference,  kita  dapat  me-reference  dari  tipe Employee dan tipe Student ke method ini selama itu masih subclass dari class Person.

public static main( String[] args )
{
  Student  studentObject = new Student();
  Employee  employeeObject = new Employee();
printInformation( studentObject );
  printInformation( employeeObject );
}
public static printInformation( Person p ){
  . . . .
}

 

0 komentar:

Posting Komentar

 

(c)2009 PD-Child. Based in Wordpress by wpthemesfree Created by Templates for Blogger