2013-05-04 62 views
0

我想創建一個用戶類類型對象,然後可能稍後更改其類類型。例如。Windows Phone變量類類型

有兩個自定義類:

class A{} 
class B{} 

再後來我想聲明從而改變它的相應鍵入一個對象;

var obj; 

if(x=0) 
    obj=new A(); 
else 
    obj=new B(); 

這是可能在windows phone visual studio環境中嗎? 注意:我希望obj是一個全局變量,以便我可以在任何地方使用它。

回答

0

這是可能的,但不是一個偉大的設計。你應該讓它更安全,或者通過爲A和B設置一個基類,然後將變量對象設置爲該基類型或者使類與接口相連接。

例子:

class BaseClass 
{ 
} 

class A: BaseClass{} 
class B: BaseClass{} 

BaseClass obj; 

interface IClass{} 

class A : IClass{} 
class B: IClass{} 

IClass obj; 
+0

HT我明白你使用繼承。這是一個解決方案,但我不認爲我可以使用它。讓我進一步解釋我的問題。我更期待多態。同一個對象的行爲將有所不同,具體取決於它的類類型。 class A { String str =「Class A」; } class B { String str =「Class B」; } var obj; if(...) obj = new A; else obj = new B; obj.str ...... – 2013-05-04 15:38:55

+0

接口是爲多態而設計的。這個想法不是有一個通用類型的對象,而是有一個特定的類型,它會有自己的實現。 – 2013-05-04 18:32:47

+0

好吧..非常感謝..讓我看看我如何實現這個與我的想法。 – 2013-05-05 16:14:48