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.
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: