Mendefinisikan Superclass
dan Subclass
Untuk memperoleh suatu class,
kita menggunakan kata kunci extend. Untuk
mengilustrasikan ini, kita akan
membuat contoh class induk. Dimisalkan kita mempunyai class induk yang
dinamakan Person.
public class Person
{
protected String name;
protected String address;
/**
* Default constructor
*/
public Person(){
System.out.println(“Inside
Person:Constructor”);
name = "";
address = "";
}
/**
* Constructor dengan dua
parameter
*/
public Person( String name,
String address ){
this.name = name;
this.address = address;
}
/**
* Method accessor
*/
public String getName(){
return name;
}
public String getAddress(){
return address;
}
public void setName( String name
){
this.name = name;
}
public void setAddress( String
add ){
this.address = add;
}
}
Perhatikan bahwa atribut name dan
address dideklarasikan sebagai protected. Alasannyakita melakukan
ini yaitu, kita inginkan atribut-atribut ini untuk bisa diakses oleh
subclassesdari superclassess. Jika kita mendeklarasikannya sebagai private,
subclasses tidak dapat menggunakannya. Catatan bahwa semua properti dari
superclass yang dideklarasikan sebagai public, protected dan default dapat
diakses oleh subclasses-nya. Sekarang, kita ingin membuat class lain bernama
Student. Karena Student juga sebagai Person, kita putuskan hanya meng-extend
class Person, sehingga kita dapat mewariskan
semua properti dan method dari
setiap class Person yang ada. Untuk melakukan ini, kita tulis,
public class Student extends
Person
{
public Student(){
System.out.println(“Inside
Student:Constructor”);
//beberapa kode di sini
}
// beberapa kode di sini
}
Ketika object Student di-instantiate,
default constructor dari superclass secara mutlak meminta untuk melakukan
inisialisasi yang seharusnya. Setelah itu, pernyataan di dalam subclass
dieksekusi. Untuk mengilustrasikannya, perhatikan kode berikut,
public static void main( String[]
args ){
Student anna = new Student();
}
Dalam kode ini, kita membuat
sebuah object dari class Student. Keluaran dari program adalah,
Inside Person:Constructor
Inside Student:Constructor



0 comments:
Post a Comment