INHERITANCE & Polimorfisme
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
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;
}
}