Constructor terutama untuk inisialisasi variable-variabel instan class serta melakukan persiapan pada suatu objek agar objek tersebut dapat beroperasi dengan baik, seperti melakukan start pada kendaraan bermotor. Ketika objek suatu class diciptakan, new memanggil constructor class untuk melakukan inisialisasi.
1. Constructor harus bernama sama dengan nama kelas (karena case sensitive maka nama harus sama dalam huruf kecil dan kapitalnya).
2. Constructor tidak menspesifikasikan tipe yang dikirim karena dapat dipastikan tipe yang dikirim bertipe class itu.
3. Class dapat berisi banyak constructor overloading yang memungkinkan objek diinisialisasi dengan beragam cara berbeda.
4. Constructor dapat mempunyai access modifier, biasanya public, namun dapat berupa private seperti ketika kita membuat pola rancangan Singleton.
Ketika class melakukan inisialisasi, program dapat member nilai-nilai (berupa argumen-argumen di constructor) inisialisasi.
Class pasti memiliki sedikitnya satu constructor. Jika pemrogram tidak mendeklarasikan constructor, kompilator secara otomatis akan menciptakan constructor tanpa argument, serta kemudian melakukan inisialisasi variabel-variabel instan ke nilai-nilai inisial yang dideklarasikan atau ke nilai-nilai default (angka 0 untuk tipe-tipe numeric primitif, false untuk Boolean dan null untuk reference ke objek). Jika class yang diperluas (diwarisi) tidak mempunyai constructor tanpa argument, maka kompilator akan memberikan pesan kesalahan.
Hal penting mengenai constructor,yaitu:
• Nama constructor selalu bernama sama dengan nama class.
• Class dapat mempunyai lebih dari satu constructor.
• Constructor dapat mempunyai nol, satu parameter atau lebih.
• Tidak ada tipe keluaran yang dispesifikasikan pada deklarasi constructor. Tipe keluaran secara implicit adalah instan class.
• Constructor selalu dipanggil dengan operator new.
Deklarasi constructor sama seperti deklarasi metode, hanya saja berbeda dalam hal berikut:
1. Tidak mengirim tipe data apapun.
2. Namanya harus serupa dengan nama class.
Tidak ada komentar:
Posting Komentar