Belajar Menggunakan Generic Class pada Java
Assalamualaikum Warahmatullahi Wabarakatuh.
Generic Class adalah salah satu konsep yang memungkinkan class atau interface menjadi tipe parameter dengan berbagai macam tipe data, class generic ini diterapkan sejak java versi 5. Kita dapat mendefinisikannya pada sebuah class, interface ataupun method, programmer dapat mengaplikasikannya dengan menggunakan re-use code (kode kembali).
Pada tutorial berikut ini, kita akan belajar membuat program sederhana dengan menggunakan Generic Class pada java, bagi programmer, keuntungan menggunakan class generic adalah kita dapat mendefinisikan sebuah variable atau satu variable dengan berbagai macam tipe data, tanpa harus membuat banyak variable untuk tipe data yang berbeda beda.
Materi Lainnya Yang Direkomendasikan:
- Contoh Penggunaan Inner Class pada Java
- Tutorial Dasar Method Get dan Set pada Java
- Cara Membuat Konstruktor dan Parameter pada Java
Generic Class pada Java
Buat Project baru pada aplikasi NetBeans kalian, beserta class yang ingin digunakan, misalnya dalam contoh ini, kita akan membuat 2 buah class, pertama Class Generic (tanpa method main) dan yang kedua adalam Class Utama kita yang didalamnya terdapat method main.
Pertama kita akan membuat Class Generic terlebih dahulu, berinama kelas tersebut misalnya "All_in_One". Dan berikut ini merupakan contoh source code sederhana pada Generic Class kita, perhatikan baik-baik:
package WILDAN_TECHNO_ART;
class All_in_One<T> {
//T Adalah Kepanjangan dari Tipe Parameter
private T Manusia;
//Method Void Set Dengan Tipe Parameter T
protected void setManusia(T Manusia){
this.Manusia = Manusia;
}
//Method Return Get Yang Mengembalikan Nilai Manusia
protected T getManusia(){
return Manusia;
}
}
<T> Yang berarti Tipe Parameter yang digunakan untuk menentukan jenis tipe data yang ingin gunakan pada variable atau atribut didalamnya, T bisa kita ubah menjadi tipe data apa saja, seperti Integer, String, Boolean, Character, Float, Byte, dll. Perlu kalaian ketahui, Generic Class hanya menerima tipe data non-primitif saja, seperti yang sudah saya sebutkan tadi, dalam Generic Class kita tidak dapat menggunakan tipe data primitif seperti int, char, boolean, float,dll.
Selain <T>, sebenarnya kita dapat menggunakan huruf yang lainnya seperi <E>, <K> dan sebagainya. Tetapi huruf T sudah menjadi standar dari dokumentasi resminya.
Setelah Class pertama selesai dibuat, selanjutnya kalian buat class yang kedua, misalnya kita berinama "latihan_java", didalam class tersebut terdapat method main.
Pada class tersebut kita perlu membuat sebuah Instance/Objek dari Class Generic sebelumnya, serta mendefinisikan tipe data apa yang digunakan pada class generic tersebut:
Selain <T>, sebenarnya kita dapat menggunakan huruf yang lainnya seperi <E>, <K> dan sebagainya. Tetapi huruf T sudah menjadi standar dari dokumentasi resminya.
Setelah Class pertama selesai dibuat, selanjutnya kalian buat class yang kedua, misalnya kita berinama "latihan_java", didalam class tersebut terdapat method main.
Pada class tersebut kita perlu membuat sebuah Instance/Objek dari Class Generic sebelumnya, serta mendefinisikan tipe data apa yang digunakan pada class generic tersebut:
package WILDAN_TECHNO_ART;
public class latihan_java {
public static void main(String[] args){
//Membuat Instance dan Mendefinisikan Tipe Data String
All_in_One<String> nama = new All_in_One<>();
nama.setManusia("Wildan");
System.out.println("Nama Saya: "+nama.getManusia());
//Membuat Instance dan Mendefinisikan Tipe Data Integer
All_in_One<Integer> umur = new All_in_One<>();
umur.setManusia(19);
System.out.println("Usia Saya: "+umur.getManusia()+" Tahun");
//Membuat Instance dan Mendefinisikan Tipe Data Boolean
All_in_One<Boolean> kondisi = new All_in_One<>();
kondisi.setManusia(true);
System.out.println("Saya Sedang Belajar Java: "+kondisi.getManusia());
//Membuat Instance dan Mendefinisikan Tipe Data Float
All_in_One<Float> IPK = new All_in_One<>();
IPK.setManusia(3.5f);
System.out.println("Nilai IPK Saya: "+IPK.getManusia());
//Membuat Instance dan Mendefinisikan Tipe Data Character
All_in_One<Character> Karakter = new All_in_One<>();
Karakter.setManusia('W');
System.out.println("Huruf Awalan Nama Saya Adalah: "+Karakter.getManusia());
}
}
Demo:
Coba kalian perhatikan souce code pada program tersebut, disana kita membuat beberapa Instance/Objek dengan tipe data yang berbeda beda dengan 1 buah variable didalamnya yaitu Manusai, pada variable Manusia kita dapat melakukan apa saja, libih mudah dan praktis bukan.
Untuk memasukan nilai pada variable tersebut, disana kita menggunakan method void Set dan untuk mencetak atau mengembalikan nilainya, kita menggunakan method return Get.
Sekian dari saya, semoga bermanfaat. Wassalamualaikum Warahmatullahi Wabarakatuh.