问题描述
之前对OC的对象模型理解的比较好,网上也有很多相关的文章介绍,但是现在学习C#网上没有搜到相关的对象模型介绍,哪位可以告知哪些书上有这些内容吗?附上OC简单的对象模型:
解决方案
解决方案二:
面向对象的内容都是通用的,任何一本相关书籍都会提到。
解决方案三:
引用1楼guwei4037的回复:
面向对象的内容都是通用的,任何一本相关书籍都会提到。
但是具体类设计的细节应该不一样吧,比如OC的isa指针,C#应该是自己的一套东西吧
解决方案四:
引用2楼zdc_1990的回复:
Quote: 引用1楼guwei4037的回复:
面向对象的内容都是通用的,任何一本相关书籍都会提到。但是具体类设计的细节应该不一样吧,比如OC的isa指针,C#应该是自己的一套东西吧
这是c#,跟vb.net一样的高级OOPL语言,不是像c那样的。换句话说,使用“指针”进行曲折的引用、转换来实现继承,还是直截了当地将父类定义代码连编到子类中去,那是编译器要做的事,不要求程序员纠结这些。你可以说类似c#这样的语言不够高级(有的人就是愿意把极低级的东西反而叫做高级),不能自己手动调整“性能”之类的。而c#这样的OOPL可以保证更广泛的程序员进行安全和高效地编程,是适合初学者和高级设计师使用的工具。初学者需要面向问题进行编程,而高级设计师更需要把精力放到软件需求市场创意上,而只有那些“中级”的底层爱好者才喜欢把c做为教学语言、把精力仅仅放在语言内部。
解决方案五:
如果你想了解c#编译器各版本设计的内部知识以及差别,如果你想了解.net各个版本(1.0、1.1、2.0、4.0)在“本质论”上的所谓差别,你想了解Jit编译在不同环境下的差别,等等,在网上随便找一些“c#编程”的网页肯定是看不到的。肯定需要去书店去买相关问题的专著去看。c#之类的这类入门教学的文章更务实,不是教程序员总抱着几大本“底层概念、很深度”的书去背的。基本上都是针对工程师的教材,而不是针对博士、硕士学员的。如果是学院你得学着,如果酷爱背诵各种自己实际上几乎用不上的许多本理论书籍,那就要学习java甚至c,而不是c#。
解决方案六:
在.net应用程序开发中,大部分知识来自于.netframework。至少有98%以上的知识来自于对各种框架内的组件、机制的了解。如果一个程序员整天纠结于“编程语言”底层的研究,那么可能也就传统的许多c++程序员那样花一整年时间“死抠”那么一点代码反复地欣赏,而开发效率很低吧。
解决方案七:
话说,你更应该弄清楚更底层的ISO-OSI7层模型,还有windows的消息机制而不是纠结于某种编程语言的所谓模型