Wednesday, May 16, 2007

Bookmark May 16 2007

Overloading & Rest parameters.

Overloading adalah suatu kondisi dimana sebuah object / class mempunyai 2 (dua) atau lebih metode / fungsi dengan nama sama tetapi berbeda argument (parameter). Overloading kerap kita temui di pemrograman java.

Salah satu contoh overloading di java :



    /**
* @langversion java
*
*
* Tutup koneksi cara 1
* @param ps
* @param c
*/

public static void closeConnection(PreparedStatement ps, Connection c)
{
try
{
if (ps != null)
{
ps.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
try
{
if (c != null)
{
c.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}

/**
* Tutup koneksi cara 2
* @param c
*/

public static void closeConnection(Connection c)
{
try
{
if (c != null)
{
c.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}


Sampai saat ini, Actionscript masih belum mendukung overloading. Tetapi ada bentuk penulisan lain sebagai alternatif untuk overloading yang ada di Actionscript 3.0 yaitu rest parameters. Rest parameter memperbolehkan kita menggunakan 0 (nol) atau lebih parameter tambahan dengan "unknown types" kepada suatu fungsi.
Anda mendeklarasikan rest parameter dengan menggunakan nama parameter yang didahului dengan 3 titik.
Didalam badan metode, nilai dari rest parameter diakses sebagai sebuah array.
Salah satu contoh rest parameter di Actionscript 3.0 :



/**
* @langversion Actionscript 3.0
*
*/

function
contoh(...rest):String {

var b:String = "rest terdiri dari :";

// akses isi dari rest parameter (Array)
for(var i:uint = 0; i < rest.length; i++) {
b += " " + rest[i];
}

return b;
}

// pemanggilan

contoh("test");
// output :
// rest terdiri dari : test



contoh("test", "satu", "dua", "tiga");
// output :
// rest terdiri dari : test satu dua tiga





Note : Overloading disini tidak sama dengan overloading operator di C++

No comments: