Anda di halaman 1dari 4

INHERITANCE & Polimorfisme

INHERITANCE
Suatu entitas / objek dapat memiliki entitas / objek
turunan.
Pewarisan kemampuan suatu objek untuk
menurunkan karakteristik yang dimilikinya
(data atau prosedur / fungsi) kepada objek yang lain.
Kemudahan dalam mengembangkan suatu objek baru
dengan menggunakan sifat-sifat objek lain.
Dalam Java, class Object merupakan class yang
berada pada tingkat hirarki tertinggi
Membangun class baru dengan menggunakan class
yang telah ada
Bertujuan untuk menggunakan kembali code yang
telah didefinisikan pada class yang telah ada
untuk membentuk class baru.
Parent / base-class suatu class yang memiliki
class turunan.
Child / sub-class class dari turunan itu sendiri.

INHERITANCE
Suatu entitas / objek dapat memiliki entitas / objek
turunan.
Pewarisan kemampuan suatu objek untuk
menurunkan karakteristik yang dimilikinya
(data atau prosedur / fungsi) kepada objek yang lain.
Kemudahan dalam mengembangkan suatu objek baru
dengan menggunakan sifat-sifat objek lain.
Dalam Java, class Object merupakan class yang
berada pada tingkat hirarki tertinggi
Membangun class baru dengan menggunakan class
yang telah ada
Bertujuan untuk menggunakan kembali code yang

telah didefinisikan pada class yang telah ada


untuk membentuk class baru.
Parent / base-class suatu class yang memiliki
class turunan.
Child / sub-class class dari turunan itu sendiri.
Suatu subclass dapat mewarisi semua atau
sebagian member yang dimiliki oleh parent class
hanya memperluas (extend) parent class-nya.
Digunakan disebabkan oleh:
o Tidak perlu banyak menulis ulang
o sekelompok kode.
Mengkoreksi / memperbaiki pengkodean
pada base-class ke seluruh subclass

Deklarasi inheritance
Menambahkan kata kunci extends setelah deklarasi nama class, dan diikuti dengan nama parentnya classnya
Kata kunci extends tersebut akan memberitahu Java compiler bahwa akan dilakukan perluasan class
public class A {

}
public class B extends A {

}
Semua field yang ditandai sebagai "dilindungi"
atau "publik".
o "private" hanya dapat dilihat oleh kelas yang
menyatakan mereka
o "protected" hanya dapat dilihat oleh kelas
yang dinyatakan, dan pada setiap subclass
o Semua public dan method-method yang diprotek

Contoh1
public class Karyawan {
public String nama;
public double gaji;

}
public class Supervisor extends Karyawan {
public String departemen;
}
class A {
int x;
int y;
void TampilkanNilaixy() {
System.out.println("Nilai x:" + x + ", y:" + y);
}
}
class B extends A {
int z;
void TampilkanJumlah() {
//subclass dapat mengakses member dari superclass
System.out.println("Jumlah = " + (x+y+z));
}

contoh2
class Parent1 {
public int x = 67;
}
class Child extends Parent1 {
public int x = 6;
public void Info(int x) {
System.out.println("Nilai x sebagai "
+ "parameter = " + x);
System.out.println("Data member x "
+ "di class Child = " + this.x);
System.out.println("Data member x "
+ "di class Parent = " + super.x);
}
}
class NilaiX {
public static void main(String args[]) {
Child tes = new Child();
tes.Info(16);
}
Polimorfisme
merupakan suatu sifat yang memungkinkan nama
yang sama dapat menyatakan tindakan yang berbeda.
Secara umum, merupakan kemampuan untuk muncul
dalam berbagai bentuk.
Polymorphism di Java:
Kemampuan suatu reference variable untuk bertindak
(melakukan method) sesuai dengan object yang
dipegangnya.
Memungkinkan berbagai object dari berbagai subclass
diperlakukan sebagai sebuah object super class. Super
class yang dimaksud akan melakukan tindakan sesuai
dengan object subclass tersebut.
contoh
public class Siswa {
public String getName(){
System.out.println(Nama Siswa: + nama);

return nama;
}
}
public class Karyawan {
public String getName(){
System.out.println(Nama Karyawan: + nama);
return nama;
}
}

Anda mungkin juga menyukai