oc语言的特点及主要应用在什么方面

oc语言的特点及主要应用在什么方面,第1张

  什么是oc语言

  OC语言在c++语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。可以使用OC开发mac osx平台和ios平台的应用程序。

  oc语言的特点

  1、Objecive-C属于Smalltalk学派,其面向对象与C++面向对象编程力的Simula67(一种早期面向对象语言)学派不同;

  2、ObjecTIve-C 是ANSI C的超集,扩展了C语言使它具备面向对象设计的能力,例如类、消息‘继承;同时在ObjecTIve-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法;

  3、ObjecTIve-C可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。

  C++与OC同为面向对象设计语言,他们有很多相似的对象,但是由于两者属于不同的面向对象学派。因此两者之间的比较也乐此不疲。下面简要说说他们的区别:

  1、继承:ObjecTIve-C与同Java和Smalltalk一样不支持多重继承,而C++语言支持多重继承(从侧面可以说明多重继承的效率不高);

  2、函数调用:Objective-C通过互相传递消息实现函数调用,而C++直接进行函数调用

  3、定型:Objective-C是动态定型(dynamicalytyped)。所以它的类库比C++要容易 *** 作。Objective-C在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。而C++,对象的静态类型决定你是否可以发送消息给它。

  4、接口:Objective-C采用protocol协议(非正式和正式)的形式来定义接口,而C++采用虚函数的形式来定义接口。

  5、方法重载:c++中允许两个方法的名字相同,参数个数相同,但是参数类型不同,以及不同的返回值类型。而OC中不允许同一个类中两个方法有相同的名字,参数个数相同,参数类型不同。

  Simula67学派主张编程安全,即大部分程序可以在编译时查出,他的支持者声称既然程序设计出色何必再要灵活性,而Smalltalk称为了灵活可以容忍运行时多出错。因此Objective-C和C++的区别就是Objective-C更加灵活而降低了其编译的要求(这个降低并不是说编译就无要求,不会进行类型检查等),而C++提高编译的要求,在编译的过程发现更多的潜在错误,在运行前改正,同时会降低程序的灵活性。因此,在Smalltalk看来正确的程序在Simulr 67那里就无法通过。例如:

  对于这行代码:NSString *test =(id) [[NSArray alloc]init];//在编译期间,C++认为是错误的,而OC则认为没有问题。

  总之两者的差别主要是因为Objective-C是既支持DynamicTyping,也支持StaticTyping的语言。对于id类型的变量,变量只是一个容器,本身是没有类型的,或者是属于最基本的类型,所以也不需要强制转换。因为编译器不会检查变量的类型是否正确,只是运行时如果类型不正确才会产生异常。

  而C++是StaticTyping语言,编译时会检查类型,所以必须要加上强制类型转换,否则编译器会报错。

  oc语言是主要应用在什么方面?

  OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。

  OC就是Objective-C,是应用于IOS平台APP开发的标准语言。最近WWDC发布了最新完善的swift,也是苹果移动应用的开发语言。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2717042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存