本篇文章给大家谈谈objectc和c语言,以及c和object c对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、Objective – C和C语言的异同。2、Objective-C和C的区别3、请问 c 语言与object c语言有什么区别
Objective – C和C语言的异同。
Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。
1 历史
1980年代初布莱德·确斯(Brad Cox)在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心。
Objective-C最主要的描述是他1986年出版的Object Oriented Programming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8.
2 语言分析
Objective-C是非常“实际”的语言。它使用一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。ObjC写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。
Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的“死亡时间”,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNUstep), Apple在其Mac OS X 10.3中仍未引入这个功能。
另一个问题是ObjC不包括命名空间机制(namespace mechanism)。取而代之的是程序设计师必须在其类别名称加上前缀,时常引致冲突。在2004年,在Cocoa编程环境中,所有Mac OS X类别和函式均有“NS”作为前缀,例如NSObject或NSButton来清楚分办它们属于Mac OS X核心;使用“NS”是由于这些类别的名称在NeXTSTEP开发时定下。
虽然Objective-C是C的母集,但它也不视C的基本型别为第一级的对象。
和C++不同,Objective-C不支援运算子多载(它不支持ad-hoc多型)。亦与C++不同,但和Java相同,Objective-C只容许对象继承一个类别(不设多重继承)。Categories和protocols不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。
Objective-C和C的区别
区别如下:
1.性质不同
Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。
2.特点不同
Objective-C是非常实用的语言。它是一个用C写成很小的运行库,令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。
3.创始时间不同
Objective-C创始时间是1980年代,C语言创始时间是1972年。
参考资料来源:百度百科–Objective-C
参考资料来源:百度百科–C
请问 c 语言与object c语言有什么区别
C语言是基础语言,可以用于写底层代码,要想学好需要长时间的累计经验;OC简单来说就是C语言的封装版,比C用起来更方便,而且更规范。OC是专门开发苹果IOS程序的,但是在实际开发中会用到C语言的变成。现在IOS开发的程序员好多都在学习Swift,类似于js变成,效率比oc高。
objectc和c语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c和object c、objectc和c语言的信息别忘了在本站进行查找喔。