2013-05-04 59 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