Membuat Prosedur Overload Di VB.NET
Sebagai programmer adakalanya kita dihadapkan pada suatu keadaan dimana kita ingin membuat suatu procedure dengan satu nama tapi mempunyai mempunyai daftar argumen/ declarasi variabel yg berbeda, yg memang ditujukan utk kegunaan yg berbeda-beda pula. Contoh misalnya kita ingin membuat suatu procedure untuk menampilkan tanggal hari ini, dimana kita berharap satu procedure jika kita panggil akan menampilkan tanggal hari ini saja, dan procedure lainnya dg nama sama jika kita panggil akan menampilkan tanggal hari ini dan informasi tambahan lainnya (misalnya "Tanggal Hari ini adalah : 01/03/2007, saatnya anda membayar tagihan listrik").
Untuk memenuhi kebutuhan yg satu ini VB.NET menyediakan suatu faslitas yg namanya overloads. Dengan menggunakan keyword ini maka prosedur dg nama yg sama akan tetapi argument / variabel yg berbeda dapat anda buat.
Ok mari kita buat contoh programmnya :
Private Overloads Sub TampilkanTgl(ByVal tgl as Date, ByVal sPesan as String)
MessageBox.Show("Tanggal Hari ini Adalah : "& Tgl.ToString() &", " & sPesan)
End Sub
Private Overloads Sub TampilkanTgl(ByVal tgl as Date)
MessageBox.Show(Tgl.ToString() )
End Sub
Pada dua procedure diatas, yg pertama mempunyai dua buah deklarasi variabel dan yang kedua hanya mempunyai satu deklarasi variabel, lalu bagaimana cara kerjanya? Hal ini bergantung dari variabel yg anda suplay pada saat procedure tersebut anda panggil, jika anda hanya menyuplai satu variabel saja, pada saat pemanggilan procedure TampilkanTgl, maka yg di eksekusi adalah procedure yang kedua, akan tetapi jika anda memberikan dua nilai variabel pada saat pemanggilan procedure maka yg dieksekusi adalah procedure yg kedua.
Sekarang coba anda panggil kedua procedure tersebut secara bergantian pada event Form_Load, bagaimana hasilnya.. tentunya anda akan mendapatkan hasil yg berbeda2
Contoh pemanggilan :
Call TampilkanTgl(now)
Call TampilkanTgl(now,"Saatnya anda membayar tagihan Listrik")
Thx.. selamat mencoba, semoga bermanfaat.
referensi :
http://blogs.techrepublic.com.com/programming-and-development/?p=546&tag=nl.e065
0 komentar:
Post a Comment