技术开发 频道

不要把objective-C当做c/c++的超集

  【IT168技术】之前给广大的网友总结了很多关于C++和Objective-C的很多文章,而且还专门总结了一个学习objective-C,以及iPhone入门开发宝典的专题。本文从开发者的角度更进一步揭示了objective-C与传统C/C++的关系,以下是文章部分:

  我承认看objective-C的时间不是很长,连apple官网的objCpdf都没看完。但是我已经感觉到很多介绍objC文章都说过的一句话是在误导初学者。那句话 就是objective-C是c/c++语言的超集。

  我们在学与c/c++相关的语言的时候很自然的想到java、c#这些从c/c++语法几乎是自然过渡的语言。他们区别也只是要不要显示的使用virtual关键字,能不能重载运算符之类的简单的“显示-隐式”,“有与没有”的区别。

  但是这样的思维习惯对于学习objC只有反向的作用。因为objC不只是在形式上变化了很多,如消息,协议和属性的表示。还有其他语言底层方面的转变,比如内存回收(跟java和c#绝对不同的机制)。

  所以,对于初学者来说。在学习objC的时候最好是把自己的关于语言,尤其是c/c++方面的知识全部清空了。把这门语言当做一门全新的语言去学习。不是说objective-C是c/c++语言的超集这句话不对,因为objC可以和c/c++一起工作。只是在学习这门语言的时候,不要被这句话误导。objC已经改变了很多!

  最后,正如我开始所说:接触这门语言的时间不长。有什么不对的地方还请高手指正!

0
相关文章