Nama : Siti Amalia Mufiedah ( 56410578 )
Rekan Kerja : Anastasia Debbylia ( 50410647 )
Kelas : 2IA13
Link Rekan : http://anastasyadebby.blogspot.com/
Inheritance
Rekan Kerja : Anastasia Debbylia ( 50410647 )
Kelas : 2IA13
Link Rekan : http://anastasyadebby.blogspot.com/
Inheritance
Inheritance adalah pewarisan yang artinya sebuah kelas yang mewarisi atribut
dan methode dari kelas lain yang masih sejenis, sebagai contoh dalam dunia
nyata adalah kelas buah menurunkan sifat dan kemampuannya kepada kelas mangga ,
kelas mangga indramayu, mangga harumanis, dll. Kelas buah sebagai superclass
dan mewarisi atribut juga methodenya kepada mangga sebagai subclassnya.
Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas
lain yang sudah ada. Penurunan sifat ini bisa dilakukan secara
bertingkat-tingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin
spesifik. Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan
perilaku khusus dari kelas supernya. Dengan konsep pewarisan, seorang
programmer dapat menggunakan kode yang telah ditulisnya pada kelas super
berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua
kode-kode itu. agar lebih memahaminya kita lihat program dibawah ini .
pertama kita buat dulu class dengan nama orangtua :
pertama kita buat dulu class dengan nama orangtua :
String a dingunakan untuk mendefinisikan variabel a yang berisi "penyabar"
kemudian char b untuk mendefinisikan variabel b yang bernilai karakter yang isinya adalah "B"
kemudian statment void menyatakan bahwa metode (blok subclass) pada suatu kelas, kemudian kita gunakkan perintah System.out.println untuk mencetak tulisan kelayar monitor. kemudian kita tutup class dengan tanda kurung kurawal .
setelah itu kita buat class anak dengan extends orang tua
string c digunakan untuk mendefinisikan variabel c yang berisi "nakal"
void digunakan untuk mrenyatakan bahwa metode
(blok subclass) pada suatu kelas, kemudian kita gunakkan perintah
System.out.println untuk mencetak tulisan kelayar monitor. kemudian kita
tutup class dengan tanda kurung kurawal .
kemudian kita membuat class turunan dengan nama anak2. Public berarti kelas
lain diperbolehkan memanggil metode , kemudian static berarti dapat dipanggil
oleh kelas lain tanpa menjadi instans (bagian) kelas itu. lalu void digunakan untuk mrenyatakan bahwa metode
(blok subclass) pada suatu kelas , dan main berarti metode
awal yang dijalankan, kemudian kita panggil class anak dan orangtua dengan membuat variable baru dengan nama anakku.
maka output dari program diatas adalah :
Polimorfisme
Polimorfisme
merupakan suatu sifat yang memungkinkan nama method yang sama dapat melakukan
tindakan yang berbeda. Contohnya ialah method roda yang terdapat pada bjai dan
sepeda motor. Ingat bahwa bjai adalah kelas turunan dari kendaraan. Method roda
pada kedua kelas sama-sama untuk menjalankan kendaraan. Namun roda pada bjai
berbeda dengan roda pada sepeda motor. Roda pada bjai berjalan memakai tiga
roda tanpa keseimbangan pengendaranya, sedangkan roda pada sepeda motor
berjalan memakai dua roda dengan keseimbangan si pengendaranya. Keduanya
menggunakan nama yang sama yaitu roda, namun ternyata merujuk pada pekerjaan
spesifik yang berbeda.
contoh program :
kita buat class dengan nama Person
public class Person
{
public String getName(){
System.out.println(“Person Name:” + name);
return name;
}
}
public class Student extends Person
{
public String getName(){
System.out.println(“Student Name:” + name);
return name;
}
}
{
public String getName(){
System.out.println(“Person Name:” + name);
return name;
}
}
public class Student extends Person
{
public String getName(){
System.out.println(“Student Name:” + name);
return name;
}
}
kita buat class baru dengan nama Employee:
public class Employee extends Person
{
public String getName(){
System.out.println(“Employee Name:” + name);
return name;
}
{
public String getName(){
System.out.println(“Employee Name:” + name);
return name;
}
Kembali ke method utama kita, ketika kita mencoba memanggil method getName dari
reference Person ref, method getName dari object Student akan dipanggil. Sekarang, jika
kita berikan ref ke object Employee, method getName dari Employee akan dipanggil.
public static main( String[] args )
{
Person ref;
Student studentObject = new Student();
Employee employeeObject = new Employee();
ref = studentObject; //Person menunjuk kepada
// object Student
String temp = ref.getName(); //getName dari Student
//class dipanggil
System.out.println( temp );
ref = employeeObject; //Person menunjuk kepada
// object Employee
String temp = ref.getName(); //getName dari Employee
//class dipanggil
System.out.println( temp );
}
reference Person ref, method getName dari object Student akan dipanggil. Sekarang, jika
kita berikan ref ke object Employee, method getName dari Employee akan dipanggil.
public static main( String[] args )
{
Person ref;
Student studentObject = new Student();
Employee employeeObject = new Employee();
ref = studentObject; //Person menunjuk kepada
// object Student
String temp = ref.getName(); //getName dari Student
//class dipanggil
System.out.println( temp );
ref = employeeObject; //Person menunjuk kepada
// object Employee
String temp = ref.getName(); //getName dari Employee
//class dipanggil
System.out.println( temp );
}
sumber :