简述OC这门语言

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

为了与c语言的关键字区分开来,基本上所有的关键字都是以@开头。基本类型:5种,增加了布尔类型,BOOL类型与其他类型的用法一致,BOOL类型的本质是char类型的,定义如下:

  Typedef signed char BOOL

宏定义:

 #define YES  (BOOL)1
 #define NO   (BOOL)0

布尔类型的输出一般当做整数来用。

在OC中Nil相当于是null,也就是0(具体可以参考之前写的《您所不知道的nil/Nil/NULL/NSNull的空与空》)。程序编译连接过程为:源文件(.m)---(编译)---->目标文件(.0)-----(链接)---->可执行文件(.out)。

每个对象内部都默认有一个isa指针指向这个对象所使用的类。isa是对象中的隐藏指针,指向创建这个对象的类。OC做为一门面向对象语言,具有面向对象的语言特性,如封装、继承、多态。也具有静态语言的特性(如C++),又有动态语言的效率(动态绑定、动态加载等)。

Apple公司领导着Objective-C语言的发展与维护,包括Objective-C运行时,Cocoa/Cocoa-Touch框架以及Objective-C语言的编译器。看上去Objective-C就如同以下一个云状图:

云状图

这个问题很大,可谈的东西很多,当面试者问这样的问题时,其实他不单单是想知道这个语言的一些知识点,除此之外是想了解您对OC的理解深度,更深的一层是想与面试者产生共鸣。基本上一个问题下来,面试者的水分就能挤出不少。这是不是一个好的问题,我不知道,但这确实是一个会被问到的问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,520评论 8 265
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,757评论 0 9
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,353评论 2 35
  • OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...
    奇异果好补阅读 4,313评论 0 11