Masih melajutkan tentang Materi Inheritance kali ini kita akan mengambil topik Method override in class As3,.. apa itu Method override?dan bagaimana penerapannya?
dikutip dari Wikipedia :Method overriding, in object oriented programming, is a language feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its superclasses or parent classes. The implementation in the subclass overrides (replaces) the implementation in the superclass by providing a method that has same name, same parameters or signature, and same return type as the method in the parent class.[1] The version of a method that is executed will be determined by the object that is used to invoke it. If an object of a parent class is used to invoke the method, then the version in the parent class will be executed, but if an object of the subclass is used to invoke the method, then the version in the child class will be executed.[2] Some languages allow a programmer to prevent a method from being overridden
Jadi kesimpulannya Method override adalah metode yang gunanya untuk mengganti fungsi defaultnya/Fungsi yang telah dibuat sebelumnya sebagai contoh saya mempunyai class induk seperti ini
//classinduk.as
package
{
public class classinduk
{
protected var name:String;
public function classinduk()
{
// constructor code
yangdigantikan();
}
public function yangdigantikan()
{
name = "belumdiganti";
trace(name);
}
}
}
dan class anak seperti ini jika tidak menggunakan Method override,
//classanak.as
package
{
public class classanak extends classinduk
{
public function classanak()
{
// constructor code
super();//ini untuk menjalankan kelass induk
}
}
}
script timelinenya
//script timeline
var jalan:classanak=new classanak();
Jika dijalankan maka pada panel output akan menghasilkan
belumdiganti
Lantas dalam suatu keadaan katakanlah saya ingin membuat sebuah projek dengan sistem user interface,... methode inilah yang digunakan dalam class as3,....maka saya merubah class anak menjadi seperti ini
//classanak.as
package
{
public class classanak extends classinduk
{
public function classanak()
{
// constructor code
super();//ini untuk menjalankan kelass induk
}
override public function yangdigantikan()
{
name = "telahdigantikan";
trace(name);
}
}
}
perhatikan yang saya beri warna pada sript diatas Jika dijalankan dengan script timeline yang sama... maka ini akan menghasilkan pada panel output sebagai berikut :
telahdigantikan
itu artinya function yangdigantikan()induk telah digantikan dengan function yangdigantikan() yang baru...
By Ricko nada di Pustaka Flash terima kasih telah membaca :) Method override in class As3
0 komentar:
Post a Comment