2016-01-04 11:53:02 517浏览
在现实生活中,随着移动互联网科技的不断进步和发展,如今计算机及其应用可以说已经渗透到工作和生活的方方面面。计算机的本质是“程序的机器”,程序和指令的思想是计算机系统中最基本的概念,只有懂得程序设计才能懂得计算机,真正了解计算机是怎样工作的;通过学习程序设计可以使我们进一步了解计算机的工作原理,更好地理解和应用计算机,学会用计算机处理问题的方法。
1、Objective—C具有较强的编译器适应性。Objective.C可以在现存C编译器基础上实现,而不需要编写一个全新的编译器。这个特性使得Objective—C能利用大量现存的C代码、库、T具和编程思想等资源。现存C库可以用0bjective.C包装器来提供一个0bjective.C使用的00风格界面包装,这些特性极大地降低了进入Objective—C的门槛。
2、Objective—C是非常“实际”的语言。它是一个用c语言写成的很小的运行库,使得应用程序的大小增加很少,与此相比,大部分00系统需要极大的运行时虚拟机来执行。用Objective—C写成的程序通常不会比其源代码和函式库(通常无须包含在软件发行版本中)大太多,不会像Smalltalk系统,即使只是打开一个窗口也需要极大的内存。由于0bjective—C的动态类型特征,0bjective.C不能对方法进行内联(inline)一类的优化,使得0bjective—C的应用程序比C或C++程序更小。
3、Objective-C垃圾回收机制的引进。最初0bjective.C不支持垃圾回收机制。Apple发布的Xcode 4已经支持自动释放功能。Xcode 4中的自动释放(Automatic Reference Counting,ARC)机制,不需要用户手动释放(Release)一个对象,而是在编译期间,编译器会自动帮助人们添加那些以前经常写的『NSObject release]。Apple公司在其iOS操作系统上也提供了这种实现。
4、Objective—C独有个性。虽然Objective.C是C的严格超集,但它没有将C的基本类型视为第一级的对象。和c++不同,Objective—C不支持运算子多载(不支持ad—hoc多型)。与c++不同(但和Java相同),Objective—C只允许对象继承一个类别(不设多重继承)。
从很多方面来看,C++和Objective-C的差别,与其说是技术上的, 不如说是思维方式上的。而程序语言描述就是选择一种程序设计语言来准确地实现算法.这也是学习程序设计的目的之一。C语言作为iOS系统的基础语言,发展潜力巨大。扣丁学堂包含iOS开发教程的C语言知识,感兴趣的读者可以免费观看站内教视频。