Kamis, 20 November 2008

pengertian method di override (dlm Java)

Perhatikan suatu class yang dinamakan class person seperti di bawah ini :
public class Person
{
protected String name;
protected String address;

//default constructor tanpa parameter
public Person
{
System.out.println("Inside Person:Constructor");
name = "";
address = "";
}

//constructor dengan 2 parameter
public Person(String name, String address)
{
this.name = name;
this.address = address;
}

//method accessor
public String getName()
{
System.out.println("Person : getName");
return name;
}

public String getAddress()
{
return address;
}

public void setName(String name)
{
this.name = name;
}

public void setAddress(String add)
{
this.address = add;
}

}

variabel name dan address dibuat protected agar kedua variabel tersebut dapat diakses oleh kelas di bawahnya.
Misalkan kita membuat subclass student yang merupakan anak dari class person

public class Student extends Person
{
public String getName()
{
System.out.println("Student : getName");
return name;
}
}

Ketika kita memanggil method getName dari object class Student, method override akan keluar, menghasilkan output Student : getName
Jadi istilah override itu mirip kayak ditumpuki/ditindih, karena logikanya method getName yang terdapat pada class Person seharusnya diwariskan / dimiliki juga oleh class Student, akan tetapi isi code method getName di class Student berbeda dengan isi
code method getName di class person (istilahnya method getName class Person dioverride oleh method getName class Student).
Saat kita memanggil method getName class Student maka method getName class Person otomatis ditumpuki/ditindih.

Ciri method itu di override adalah : adanya nama method yang sama di kelas anak dengan nama method di kelas induknya.

Tidak ada komentar: