Lidon Sianturi’s Blog


Tutorial inheritance di java
February 15, 2009, 3:59 am
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 :D 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.

Class Person

Class Person

Compile Student.java dengan cara mengetik langkah dibawah ini pada command prompt yang sudah diarahkan pathnya ke path folder kita menyimpan file java kita.

class student

class student

Compile DemoStudent.java dengan cara mengetik langkah dibawah ini pada command prompt yang sudah diarahkan pathnya ke path folder kita menyimpan file java kita.

class demostudent

class demostudent

Untuk mengeksekusi kita ketikan seperti gambar berikut . Maka akan menuliskan ke layer seperti berikut :

rundemostudent

rundemostudent

 Note: Cara diatas akan lebih mudah jira kita menggunakan text editor JCreator

Semoga membantu tutorial nya ..
masih butuh kritik tutorialnya ..hehe
maklum masih newbie!!!

Advertisement

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?
public Person(String nama,String alamat){

Comment by im3h

@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

Jadi public Person(String nama,String alamat)
ini merupakan sebuah constructor ya?

Comment by Angga Lingga

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

Overloading atau Polymorphism?

Soalnya masih bingung nih.
Mohon pencerahnnyalah mas …

Comment by Angga Lingga

@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
Overloading ..

Comment by Lidon Sianturi




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s



Follow

Get every new post delivered to your Inbox.