很久以前买了一本《Inside C#》,不过因为工作中一直没有用到过C#,还从来没有仔细读过。最近下班之后比较闲一点,想想应该跟上时代的步伐,于是乎就把这本书翻出来看。边看边写下一些心得,算是读书笔记吧!
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Class Inheritance
不知道C#的设计者是怎么想的,竟然不支持Multiple Inheritance. 不知道template C#是不是也不支持?要是那样就完了。想想ATL里那么多的Interface Implementation,如果没有 Multiple Inheritance,这个程序该怎么写?
Method parameter passing
这个ref和out keywords还是挺好的,使用method的人一看函数定义,就知道哪些是[in/out],哪些是[out]。不太清楚的一点是有没有类似C++的const?要不然如果传入的是个类的reference,就不知道这个method会不会修改传入的object。
virtual and override
非常好的一个限制。以前用C++写程序的时候就发生过这种情况,我有一个Virtual Interface,然后有若干个类实现了这个Interface。写到后来需要改Interface中的一个virtual method,结果派生类中有些改了,有些忘了改;编译也通过了,可是忘了改的类的预期的behavior就是没有出现,浪费时间去调试。
看起来C#还是不错的,不过它确实是很象JAVA。虽然如此,紧跟Microsoft,还是要更有前途一些吧!