Jumat, 12 Juni 2020

INHERITANCE dan POLYMORPHISM

Pengertian Inheritance

Seperti yang kita ketahui Inheritance (Pewarisan) merupakan salah satu dari konsep dasar OOP, secara singkatnya definisi inheritance adalah pewarisan attribut dan method kepada class lain (childclass/subclass) dimana class baru akan mewarisi seluruh variable atau data dan method yang dimiliki oleh class yang menjadi induknya (parentclass/superclass) . Inheritance berfungsi untuk membuat class baru tanpa harus membuat kembali class yang sama

image

 Penggunaan Inheritance pada bahasa pemrograman java

Untuk mendeklarasikan suatu class sebagai subclass kita perlu menambahkan kata kunci yang wajib ditambahkan yaitu : extends setelah deklarasi nama class, setelah itu diikuti dengan nama parent class-nya. Kata kunci extends tersebut dimaksudkan untuk memberitahu pada compiler Java bahwa kita ingin melakukan perluasan class .

Contoh :

Class Samsung extends SmartphoneAndroid{
………
}

 Contoh Inheritance pada bahasa pemrograman java

Buatlah Class dengan Nama classSmartphoneAndroid

public class classSmartphoneAndroid {
    public  String OperatingSystem  = “Jelly Beans 4.3” ;
    public  String Ram              = “2 giga”;
    public  String Kamera           = “13 Mp”;
    public  String SpekSmartPhoneHighEnd(){
        System.out.println(“Operating System”+OperatingSystem);
        System.out.println(“Ram”+Ram);
        System.out.println(“Kamera”+Kamera);
    return SpekSmartPhoneHighEnd();

    }

} 

Pengertian Polymorphism

Polymorphism adalah salah satu konsep penting dalam object oriented programming (OOP) di bahasa Java setelah abstraction dan inheritance. Polymorphism berarti banyak bentuk. Ada beberapa definisi berbeda tentang polymorphism. Sedangkan polymorphism sendiri sulit didefinisikan. Sejalan dengan contoh program yang diberikan, Anda diharapkan dapat mengerti dan memahami konsep polymorphism itu sendiri.

Polymorphism sering dikaitkan dengan penggunaan lebih dari satu metoda dengan nama sama. Penggunaan metoda dengan nama sama dapat melalui method overloading dan juga method overriding. Peran polymorphism sebenarnya tidak terbatas hanya pada hal-hal tersebut. Ada keterkaitan erat antara polymorphism dan inheritance (turunan).Dalam konsep turunan, saat obyek dari subclass dikonstruksi, obyek dari superclass juga ikut dikonstruksi. Jadi setiap instance dari subclass adalah juga instance dari superclass. Apabila Anda mendeklarasikan metoda dengan parameter dari tipe superclass, Anda diperbolehkan untuk memberi argumen berupa obyek subclass yang merupakan turunan dari superclass tersebut.

Berikut ini adalah contoh program yang memberikan gambaran konsep polymorphism. Perlu dipahami bahwa kelas Object adalah akar dari semua kelas Java dan menduduki puncak tertinggi dalam hierarkhi kelas. Program mendefinisikan kelas yang terkait bidang datar secara sederhana termasuk beberapa kelas turunan seperti kelas PersegiPanjang dan Balok dan membatasi hanya pada penerapan method overriding.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Nama file : Polimorphism.java
// Contoh penerapan konsep polimorphism
 
public class Polimorphism {
 
   public static void main(String[ ] args) {
 
      cetakObyek(new Balok());
      cetakObyek(new PersegiPanjang());
      cetakObyek(new BangunDatar());
      cetakObyek(new Object());
   }
    
   public static void cetakObyek(Object obyek) {
      System.out.println(obyek);
   }
 
} // Akhir kelas Polimorphism
 
class Balok extends PersegiPanjang {
   public String toString() {
      return "Mempunyai sisi panjang, lebar dan tinggi";
   }
}
 
class PersegiPanjang extends BangunDatar {
   public String toString() {
      return "Mempunyai sisi panjang dan lebar";
   }
}
 
class BangunDatar extends Object {
   public String toString() {
      return "Mempunyai berbagai bentuk";
   }
}

Konsep polimorfisme (polymorphism) di Java