Filed under: Programming
Inheritance adalah fitur di java yang mengijinkan sebuah kelas dapat diturunkan .Kalau di kehidupan sehari-hari, ini dapat diilustrasikan kepada bapak dan anak di sebuah keluarga.. bapak adalah super class sedangkan anak adalah sub class .
Keyword untuk meng-inheritance : extend
Pada java tidak dijinkan multiple inheritance sbb
Public class student extends Person,Sekolah{
//rest of code
}
Dengan catatan: Jika memang class Sekolah ada !!!!
Untuk menurunkan contructor yang ada pada super class , java menyediakan sebuah method super() yang akan dipanggil di sub class seperti class students di bawah ini.
Patikan class dibawah ini..
/*
Nama File : Person.java
Date : 12 December 2008
*/
public class Person
{
protected String nama;
protected String alamat;
//overloading constructor
public Person(){
nama=”";
alamat=”";
}
public Person(String nama,String alamat){
this.nama=nama;
this.alamat=alamat;
}
//setter
public void setNama(String nama){
this.nama=nama;
}
public void setAlamat(String alamat){
this.alamat=alamat;
}
//getter
public String getNama(){
return nama;
}
public String getAlamat(){
return alamat;
}
public String tulisSemua(){
String dataPerson=
“Nama : “+nama+”\n”+
“Alamat : “+alamat+”\n”;
return dataPerson;
}
};
Setiap perilaku atau behavior atau method yang dimiliki oleh super class akan secara otomatis di miliki oleh super class. Biarpun pada sub class kita tidak menemukan method tersebut . Tetapi jika sub class ingin implementasi method dari super class berbeda pada dirinya maka dia harus meng-overide method tersebut seperti method tulisSemua() di bawah ini . Pada method tulisSemua() sub class ingin menambahkan ID student .
Perhatikan kelas berikut !
/*
nama file : Student.java
*/
public class Student extends Person
{
private String ID;
//constructor turunan
public Student(){
super();
ID="";
}
public Student(String nama,String alamat,String ID){
super(nama,alamat);
this.ID=ID;
}
public void setID(String ID){
this.ID=ID;
}
public String getID(){
return ID;
}
public String tulisSemua(){
String dataStudent=
"Nama : "+nama+"\n"+
"Alamat : "+alamat+"\n"+
"ID : "+ID;
return dataStudent;
}
};
Untuk menguji kedua kelas diatas kita menyediakan satu kelas pada kasus ini kelas DemoStudent.java
/*
nama file
emoStudent.java
*/
class DemoStudent
{
public static void main(String[] args){
Student Student1=new Student("Agnes Monica","Jakarta”,”222300");
System.out.println(Student1. tulisSemua ());
}
}
Compile Person.java dengan cara mengetik langkah dibawah ini pada command prompt yang sudah diarahkan pathnya ke path folder kita menyimpan file java kita.
Compile Student.java dengan cara mengetik langkah dibawah ini pada command prompt yang sudah diarahkan pathnya ke path folder kita menyimpan file java kita.
Compile DemoStudent.java dengan cara mengetik langkah dibawah ini pada command prompt yang sudah diarahkan pathnya ke path folder kita menyimpan file java kita.
Untuk mengeksekusi kita ketikan seperti gambar berikut . Maka akan menuliskan ke layer seperti berikut :
Note: Cara diatas akan lebih mudah jira kita menggunakan text editor JCreator
Semoga membantu tutorial nya ..
masih butuh kritik tutorialnya ..hehe
maklum masih newbie!!!
6 Comments so far
Leave a comment




tanyya method yang ini ga da return value, ni fungsi pa prosedur? kok kalau prosedur ga da void nya?
Comment by im3h March 3, 2009 @ 12:45 pmpublic Person(String nama,String alamat){
@im3h
kalau method itu adalah constructor …
jadi tidak ada return nya .. method ini adalah method yang pertama aktif ketika object ayng dibentuk dari class ini dihidupkan ….
……..
Comment by Lidon Sianturi March 7, 2009 @ 5:54 amJadi public Person(String nama,String alamat)
Comment by Angga Lingga March 10, 2009 @ 12:57 pmini merupakan sebuah constructor ya?
iya itu overloading constructor ..
dalam kelas itu ada dua constructor yang overloading yaknik :
public Person(){
nama=””;
alamat=””;
}
dan
public Person(String nama,String alamat){
this.nama=nama;
this.alamat=alamat;
}
CMIIW
Comment by Lidon Sianturi March 10, 2009 @ 1:27 pmOverloading atau Polymorphism?
Soalnya masih bingung nih.
Comment by Angga Lingga March 10, 2009 @ 1:36 pmMohon pencerahnnyalah mas …
@Angga Lingga
itu overloading ..
memang overloading itu adalah bagian dari seperti yang dibawah ini
Polymorphism terbagi atas :
1.Runtime polymorphism
2.Overloading
3.Overriding
tapi lebih tepat nya itu disebut
Comment by Lidon Sianturi March 11, 2009 @ 3:31 amOverloading ..