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

我看objective-C

--不要把objC当做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已经改变了很多!

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