class Program 2 { 3 static void Main(string[] args) 4 { 5 TestClass2 tc2 = new TestClass2(); 6 TestClass tc = new TestClass2(); 7 8 Console.WriteLine(tc2.GetType().ToString()); 9 Console.WriteLine(tc.GetType().ToString());10 }11 }12 13 class TestClass14 {15 //some code16 }17 18 class TestClass2:TestClass19 {20 //some code21 }各位大虾请看上面的代码,小弟想问的是第5、6行实例化后的TestClass2的两个对象tc和tc2有什么区别,输出的类型都是TestClass2,常用哪一种?
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
由于GetType()返回的是实例对象的类型,所以既然两个实例都是new TestClass2(),所以都返回TestClass2;
至于区别,主要是tc可以指向TestClass及其所有继承类的实例,而tc2只能指向所有TestClass2及其继承类的实例; 如果你还有别的类从TestClass继承,比如TestClass3,你可以写tc = new TestClass3()。这也是tc的好处。
这样用得多了后,渐渐就有了提炼接口的想法。这才是真正的好处。
- 2 回答
- 0 关注
- 365 浏览
添加回答
举报
0/150
提交
取消