Rabu, 14 Desember 2011

Pemrograman Generik (Java)


Pemrograman generik adalah penulisan kode yang bisa digunakan oleh berbagai macam tipe data. Kita telah menemukan istilahnya pada bagian sebelumnya tentang array dinamis integer. Kode yang ditulis di sana untuk array dinamis integer hanya bisa bekerja untuk tipe data int. Akan tetapi kode array dinamis untuk double, String, atau tipe data lainnya hampir sama. Akan sangat tidak nyaman apabila kita harus mengkopi kodenya berulang-ulang untuk tipe data yang berbeda-beda.

Seperti disebutkan sebelumnya, Java mencoba menyelesaikan masalah ini dengan membuat kelas ArrayList. Kelas ini pada dasarnya merupakan array dinamis dengan tipe Object. Karena semua kelas merupakan kelas turunan dari Object, maka objek yang bertipe kelas apapun bisa disimpan dalam ArrayList.

Ini adalah contoh pemrograman generik : kode untuk kelas ArrayList cukup ditulis satu kali, tetapi bisa digunakan untuk objek dengan tipe data yang berbeda-beda (akan tetapi, tidak bisa digunakan untuk tipe data primitif, seperti int atau double.)

Kelas ArrayList hanyalah satu dari beberapa kelas dan interface yang merupakan pemrograman generik pada Java. Kita akan lihat beberapa kelas lain dan bagaimana kelas-kelas ini digunakan. Semua kelas yang didiskusikan pada bagian ini merupakan bagian dari paket java.util dan kita perlu menambahkan pernyataan import di awal program untuk bisa menggunakannya. (Sebelum kita menggunakan perintah import java.util.*; di semua program, kita harus tahu bahwa beberapa kelas di dalamjava.util memiliki nama yang sama pada pake lain. Misalnya, java.util.List dan java.awt.List adalah kelas yang bernama sama dengan paket yang berbeda).

Adalah sesuatu hal yang tidak mudah untuk mendesain pustaka untuk pemrograman generik. Solusi yang disediakan Java memiliki banyak fitur bagus, akan tetapi bukan berarti cara ini adalah cara satu-satunya. Sudah pasti bukan yang terbaik, akan tetapi dalam konteks desain Java secara keseluruhan, mungkin lebih cocok disebut optimal. Untuk dapat memberikan gambaran seperti apa pemrograman generik secara umum, mungkin akan lebih baik untuk melihat sekilas pemrograman generik di bahasa pemrograman lain.

Tidak ada komentar:

Posting Komentar