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