Object-c优点和缺点

Objective-C是一种轻量级的面向对象编程语言,它使用较小的C运行库,使得应用程序的大小增加有限。相比其他系统,它的执行时间更短,内存占用也较低。尽管早期版本不支持垃圾回收,但现代版本如GNUstep已加入此功能。此外,Objective-C缺乏命名空间机制,导致类别名称需要加前缀以避免冲突。
摘要由CSDN通过智能技术生成
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不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>