我正在創建一個接受IOBJECT參數的方法。有多個類來實現這個接口。我需要弄清楚哪種類型的IOBJECT是。如何將我去這樣做找出某個接口是什麼類型
回答
這並不理想,但你可以用「是」經營者。把它投入到其他語句的開關中去計算出來。
if(obj is ClassA) {
//sweetness
} else if (obj is ClassB) {
//awesomeness
}
typeof將不起作用,正如其他答覆中所建議的。它可能會在所有情況下返回「對象」。 instanceof將工作。
你可以通過getQualifiedClassName()來獲取對象的類名。您還可以使用describeType(),它可以更全面地描述對象的所有方法和屬性。
有一個關於信息都在這裏: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html
它聽起來並不像理想的情況下,雖然。你可能想要做一些事情,你可以規範你處理所有物品的方式。例如:
public interface IObject {
function doSomething():void;
}
則...
function myMethod(obj:IObject):void {
obj.doSomething();
}
這聽起來像個好主意。 BUt我想用obj做一些事情,根據類型將它存儲在特定的變量中。所以我需要使用case語句來找出它是什麼類型。試圖弄清楚如何將is或instanceof應用於case語句。 – numerical25 2009-12-30 20:41:19
它似乎無法從Interface數據類型中調用方法,爲了使其工作,我必須將其轉換回原始類型。換句話說。 iobj.doSomething(); 不起作用。但是Object(iobj).doSomething();確實。我錯過了什麼? – numerical25 2009-12-30 22:08:00
- 1. 爲什麼ObjectContext類不是從某個接口派生的?
- 2. 找出一個泛型類型實現一個接口
- 3. 如何判斷泛型類型是否支持某個接口併爲該接口轉換爲某個函數?
- 4. 如何列出CLI中某個類型所滿足的接口?
- 5. 無法找出一個函數的類型是什麼
- 6. Php找出什麼類型的散列是一個字符串
- 7. 找出一個字段是什麼類型的列表
- 8. 接口也是一種類型是什麼意思?
- 9. 是什麼接口
- 10. 什麼是接口
- 11. 什麼是接口?
- 12. 這是什麼類型的進口?
- 13. 爲什麼我需要協方差接口(輸出類型)?
- 14. 什麼是類,枚舉,接口,屬性?
- 15. 接口+基類 - 這是什麼模式?
- 16. 將接口{}轉換爲某種類型
- 17. 什麼是公共類[接口]在vb.net是什麼意思?
- 18. 什麼是更好的方法?溯造型?接口?抽象類?
- 19. 角度cli中的接口類型格式是什麼?
- 20. 爲什麼接口不是強類型的?
- 21. 如果一個類實現了一個接口,並被分配給一個具有該接口類型的變量,那麼該對象的類型是什麼?
- 22. 特徵中某個對象內部的類型是什麼
- 23. 將類型化接口與在Java中接收某種類型的方法相比有什麼優勢?
- 24. 爲什麼HttpContext是一個抽象類而不是接口?
- 25. 爲什麼IDisposable是一個接口,而不是抽象類?
- 26. 爲什麼java.sql.Statement是一個接口而不是抽象類?
- 27. 爲什麼一個接口參數允許任何類型
- 28. 有什麼辦法讓現有類型實現一個接口?
- 29. 找出在HashMap中使用的是什麼類型
- 30. 無論如何找出什麼類型的視圖是視圖?
所以,我將如何實現了 「是」 或case語句instanceof的? – numerical25 2009-12-30 20:14:05
雅不使用案例,使用if else。如果您使用getQualifiedClassName(),則可以使用開關,但只要使用其他開關,則更簡單。 – 2009-12-31 19:04:21