我可以爲不同類別提供相同的屬性嗎?不同類別的相同屬性
例如擴展了Sprite和MovieClip的兩個類,它們都具有OasicObj屬性。
這是可能的嗎?
。
public class BasicObj
{
public var _id:uint;
public var _type:String;
public function SetType(type:String):void {
_type = type;
}
}
public class ObjOne extends Sprite implements BasicObj
{
public function ObjOne():void {
super();
}
}
public class ObjTwo extends MovieClip implements BasicObj
{
public function ObjTwo():void {
super();
}
}
帶接口的代碼就是例子。主要問題是「擴展Sprite和MovieClip的兩個類,並且都具有OasicObj屬性」 – user3017844
您可以有一個擴展Sprite的類和一個擴展MovieClip的不同類,它們可以具有相似(或相同)屬性,但是您可能最終不得不寫一些非常笨重的代碼;如果你想使用它們的屬性和方法,就好像它們是可互換的那樣,你可能不得不寫很多條件來檢查它們是哪一個「類型」 - 擴展的Sprite或擴展的MovieClip。實現BasicObj接口會更好;這些對象也將是「類型」BasicObj,因此您可以將它們實例化。 – moosefetcher