Kamis, 19 April 2012

Inheritance Dan Polimorfisme Pada Java


Nama                           :  Meida Listyaningrum          (54410319)
Rekan Kerja                 :  Annisa Anggi Ismandia        (50410908)
Blog Rekan Kerja         : http://annisa-anggi.blogspot.com/2012/04/inheritance-dan-polimorfisme-pada-java.html
Kelas                            : 2IA13

Inheritance Dan Polimorfisme Pada Java

Inheritance

Inheritance adalah konsep pemrograman berorientasi object yang memungkinkan membuat hubungan di mana ada class yang mewarisi semua attribute dan method dari class lain. Class baru yang lebih spesifik disebut subclass atau class turunan, sedangkan class yang diturunkan disebut superclass. Salah satu konsep dasar dari pemrograman berbasis objek pada java adalah Inheritance, berikut ini saya akan memberikan sedikit gambaran tentang inheritance.
Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass.
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Dibawah ini adalah contoh program Java Inheritance :
public class TipeRumah {
   public static void main ( String[]args )  {
      rumahindah C = new rumahindah();
      C.info();
   }
}
class Rumah {
   private String a = " Rumahmewah ";
   public void info() {
      //System.out.println (" Dipanggil pada  =  "+this);
      System.out.println (" ");
      System.out.println (" Rumah           = "+a);
   }
}
class rumahindah extends Rumah {
   private String b    =  " tombol alarm ";
   public void info(){
      System.out.println (" ");
      super.info();
      System.out.println (" rumahindah  = "+b);
   }
}

Simpan dengan nama TipeRumah.java. Dalam program di atas terdapat dua kelas yaitu kelas Rumah dan kelas rumahindah. Kelas rumahindah mewarisi sifat dari kelas Rumah. Dari kelas rumahindah dibuat objek bernama C yang memanggil method info pada kelas rumahindah serta mengoverload method info pada kelas Rumah.
Untuk menjalankannya, buka Terminal. Masuk ke direktori dimana anda menyimpan file TipeRumah.java. ketik “javac TipeRumah.java” dan “java TipeRumah” tanpa tanda kutip. Lalu akan terlihat outputnya sebagai berikut :
OUTPUT


Polomorfisme
Polimorfisme adalah Suatu kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi object. Polimorfisme mengizinkan kelas induk untuk mendefinisikan sebuah method general (bersifat umum) untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing. Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic bindung). Ikatan dinamis adalah ikatan yang terjadi pada saat program dijalankan (run-time). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis hanya dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga, dalam hal ini metode virtual (maya).
            Polimorfisme adalah kemampuan untuk memperoleh bentuk. Dua objek atau lebih dikatakan polimorfis, bila objek-objek itu mempunyai antar muka-antarmuka identik namun mempunyai perilaku-perilaku berbeda. Bentuk ini memungkinkan kita menganggap sekelompok objek dengan tipe-tipe berbeda seperti dimiliki oleh suatu tipe yang sama. Polimorfisme merupakan fitur yang terjadi karena interaksi setiap konsep pewarisan dan dynamic binding. Contohnya pintu dan jendela memiliki perilaku yang sama yaitu dapat dibuka dan ditutup, namun untuk menutup jendela dilakukan misalnya dari atas ke bawah (vetikal), sedangkan pintu dari depan ke belakang (horizontal).
Contoh program java polimorfisme :
public class StudentInfo{
   public static void main(String[] args){
   StudentGrad myStudent = new StudentGrad();
   myStudent.Write(4839838, 1,"Annisa","Listyaningrum", 2014,"Gunadarma Univercity");
   myStudent.Display();
   }
}
class Student {
   public void Write(int ID, int Grad, String Fname, String Lname) {
   m_ID = ID;
   m_Graduation = Grad;
   m_First = Fname;
   m_Last = Lname;
   }
   public void Display(){
      System.out.println("Student ID: " + m_ID);
      System.out.println("Student name : "+m_First + " " + m_Last);
      System.out.println("Graduated: " + m_Graduation);
   }
   private int m_ID, m_Graduation;
   private String m_First;
   private String m_Last;
}
class StudentGrad extends Student {
   public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch) {
      super.Write(ID, Grad, Fname, Lname);
      m_UndergradSchool = unSch;
      m_Grad = Grad;
      YearGraduated = yrGrad;
   }
   public void Display(){
      super.Display();
      System.out.println("Graduated From: "+ m_UndergradSchool);
      System.out.println("Graduation Year : "+ YearGraduated);
   }
   private Integer YearGraduated,m_Grad;
   private String m_UndergradSchool;
   private String m_Major;
}

OUTPUT



Sumber:







Tidak ada komentar:

Posting Komentar