分享
 
 
 

C#学习日记 - 2004/11/04

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

以前学习C++时,有一段时间对继承和多态的理解总不是很透彻;后来看了Stanley Lippman的《Inside the C++ Object Model》一书,存在的不少疑问就迎刃而解了。近一段时间在学习.NET时,这种从物理实现来理解面向对象的思维反而给我带来了麻烦。比如,我觉得继承类应该是包含基类的所有数据成员(Field)的,如果这样理解,就无法解释下面的现象:Object是Reference Type,而Refence type按照现在的实现,是有8个额外字节的Object Header(用于数据同步和跟踪Type信息之用); 但是为什么它的子类ValueType就没有了这8个额外字节的负担呢?其实,继承只能从逻辑上去理解,只要保证基类具有的行为继承类也具备就可以了,至于说基类的数据成员(指对继承类可见的非Private成员),必须是在当前层次上能够看到的成员,而前面提到的8字节的Object Header,无论对于IL还是C#语言来说都是看不到的,继承类有没有这种级别的数据成员,并不妨碍继承在语义上的完整性。对于多态的理解倒没有碰到大的障碍,但是另外一个问题也困扰了我一些时间:在看Rotor的代码时,发觉所有的方法都是通过Method Table来调用的,即使该方法是Instance method也是如此。这好像和我学习C++时只有virtual method才能够通过Vtable来调用的方式不一样。后来在看了Don box的《.NET Essential》才恍然大悟,由于所有方法在调用前都是IL语言,需要在运行时通过JIT编译为Native code;引入一个间接的Method table,使该方法在被编译之前指向JITter(即时编译器),编译之后method table指向的地址变为Native Code,通过这种处理方式,在实现层处理方法调用就比较一致了。这完全是一个实现层面上的技巧,与该方法是不是virtual method没有关系。不过这也说明了我前面在理解多态时与实现技术绑得太紧,有些死板了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有