Parent obj = new Child()探究

cysccnu 2010-01-16 10:55:01
Child类继承自Parent类,有两张实例化Child类的方法:
Child obj = new Child()
Parent obj = new Child()
这两个obj有什么不同吗?在运行的时候对其初始化是不是有些不一样?
如果两个obj是一样的话,为什么在下面这种情况下,同样是实例化一个List<T>,list2 占的内存小一些?
List<T> list1 = new List<T>()
IList<T> list2 = new List<T>()
...全文
195 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cysccnu 2010-01-17
  • 打赏
  • 举报
回复
up
颤菊大师 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 seesea125 的回复:]
new什么什么,在c#中,只是添加了改类型的引用而已,也就是只是指针指向了他,你可以理解为
Child obj = new Child() ,有个 child的一个实例,引用了child这个类型
Parent obj = new Child(),有个parent的一个实例,引用了child这个类型

他们两个没有什么相同不相同之说,只是他们两个都用指针指向了一个类型

我说的不知道对不对,呵呵
[/Quote]

我赞同你的说法。
duwa789 2010-01-16
  • 打赏
  • 举报
回复
两个不一样不。 一个是Child类型,一个是Parent类型,Child继承自Parent,所有有一种可能,Child有方法是独有的,Parent中没有。从实践看,两个object能提供使用的方法不一样。
seesea125 2010-01-16
  • 打赏
  • 举报
回复
new什么什么,在c#中,只是添加了改类型的引用而已,也就是只是指针指向了他,你可以理解为
Child obj = new Child() ,有个 child的一个实例,引用了child这个类型
Parent obj = new Child(),有个parent的一个实例,引用了child这个类型

他们两个没有什么相同不相同之说,只是他们两个都用指针指向了一个类型

我说的不知道对不对,呵呵
颤菊大师 2010-01-16
  • 打赏
  • 举报
回复
我的理解:
两个 obj 内存相同。
就像:
可乐 c = new 可乐 ();
饮料 w = new 可乐 ();

虽然换了个马甲,但是 饮料 w 还是可乐。瓶子也一样的

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧