May 16

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++

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.