Melayani Dengan Nurani

IA

16 Agustus 2020

Menerapkan dan Membuat Program Sesuai Konsep Polimorphisme Dengan Overloading dan Overiding

 POLYMORPHISM 

merupakan salah satu konsep penting dalam object oriented programming (OOP) khususnya di bahasa pemrograman Java setelah abstraction dan inheritance. Polymorphism berarti banyak bentuk. 

Ada beberapa definisi berbeda tentang polymorphism yang berkaitan dengan pemrograman berorientasi obyek. Sedangkan apa yang dimaksud dengan polymorphism sendiri, sebenarnya sulit untuk didefinisikan. Sejalan dengan contoh 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 diterapkan dengan method overloading dan method overriding. Peran polymorphism sebenarnya tidak terbatas hanya pada hal tersebut. Ada keterkaitan 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 dapat memberikan gambaran berkaitan dengan konsep polymorphism. Perlu dipahami dan dimengerti bahwa kelas Object merupakan akar dari semua kelas Java dan menduduki puncak tertinggi dalam hirarkhi kelas. Program akan mendefinisikan kelas yang berkaitan dengan bidang datar secara sederhana termasuk beberapa kelas turunannya (kelas PersegiPanjang dan Balok) dan membatasi hanya pada penerapan method overriding.

Contoh Listing Program :

// 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";

   }

}

Output Program :

 


Reactions:

0 comments:

Posting Komentar

Nuhun sudah komentar