Banner Java

Mendefinisikan Kelas Generik Java

Di artikel Mendefinisikan Kelas Java, Anda diperkenalkan pada bagaimana mendefinisikan sebuah kelas Java biasa. Di artikel Menggunakan Metoda Generik Di Java, Anda juga diperkenalkan pada pemrograman generik Java. Sebuah kelas Java dapat dikatakan sebagai cetak biru (blue print) dari sebuah obyek java. Dari sebuah kelas tertentu, obyek tertentu Java dibuat. Sejak Java 7, programer Java dapat mendefinisikan dua macam kelas yaitu kelas Java biasa dan kelas Java generik. Pemrograman generik merupakan fitur baru Java dan mulai diperkenalkan pada Java 7 (JDK 7) yang mana pendeklarasian kelas dan metoda Java generik agak sedikit berbeda dengan pendeklarasian kelas dan metoda Java biasa.

Kelas generik dideklarasikan dengan menggunakan parameter tipe yang diletakkan di dalam kurung sudut setelah nama kelas. Jumlah parameter tipe di dalam kurung sudut dapat lebih dari satu dan masing-masing harus dipisah dengan tanda koma. Sekalipun kelas generik memiliki parameter tipe yang terletak di dalam kurung sudut, definisi konstruktor untuk kelas generik tidak menggunakan parameter tipe dengan kurung sudutnya. Apabila konstruktor kelas generik memiliki parameter, parameter tipe dapat digunakan sebagai tipe dari parameternya dengan tidak menyertakan kurung sudut.

Kode program sederhana berikut ini adalah contoh definisi kelas generik Warna yang digunakan untuk mengkonstruksi obyek Warna. Kelas generik ini tidak mempunyai metoda main. Kelas generik Warna hanyalah definisi yang digunakan untuk mendeklarasikan dan membuat obyek Warna.

public class Warna {

   T nilaiWarna;

   public Warna() {
      nilaiWarna = null;
   }

   public Warna(T warnaBaru) {
      nilaiWarna = warnaBaru;
   }

   public String toString() {
      return ("Warna : " + nilaiWarna.toString());
   }

   public boolean samaDengan(Object warna2) {
      if (warna2 == null)
         return false;
      else {
         Warna warnaLain = (Warna) warna2;
         return nilaiWarna.equals(warnaLain.nilaiWarna);
      }
   }
}

Dari kode program di atas, kelas generik Warna memiliki sebuah variabel kelas (class variable) nilaiWarna dengan tipe T, dua buah konstruktor (baris nomor 5–7 dan 9–11) dan dua buah metoda yaitu toString (baris nomor 13-15) dan samaDengan (baris nomor 17–24).

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.