iOS开发突击

iPad 开发与 iPhone 开发有什么不同?
ipad 和 iphone 搭载的都是 iOS 操作系统,它们之间的区别主要体现在 设备 和
 UI 操作 上。由于 iPad 不具备电话功能,所以相关的特性如电话、SMS等无法
使用。由于 ipad 和 iphone 的屏幕尺寸差别大,这就决定了两者的 UI 操作不
同,例如 UIPopoverController、 UISliptViewController 等控件只能在 iPad 中使
用,而不能在 iphone 中使用,此外,iPad 产品开发中还需针对 iPad 大屏幕考
虑加入多指手势以增加用户体验。
面向对象的三大特征是什么?
面向对象编程思想主要有三大特征,分别是:封装,继承 和 多态。封装 是指把
类中的细节进行包装,对外提供定义好的接口。封装对实现细节进行隐藏,使
用者需要通过规定的访问来访问数据,这样避免了使用者进行不合理的赋值操
作。继承 是使用已存在的类定义作为基础建立新类的技术,新类的定义可增加
新的数据或新的功能,也可以用父类的功能,但不能选择性的继承父类。在继
承中,子类拥有父类非 private 的属性和方法;子类可以拥有自己的属性和方
法,即子类可以对父类进行扩展;子类可以用自己的方式实现父类的方法。继
承使得系统在变化中有了延续性,同时继承也是封装过程中可变的因素,通过
继承还可以缩小代码量。多态 是指允许不同的子类类型对同一消息做出不同的
行为。多态可以大量减少代码量的同时,提高代码的维护性和扩展性。
Objective-C 与 C、C++ 之间的联系和区别是什么?
Objective-C 与 C++ 都是从 C 演化而来的面向对象语言,两者都兼容标准 C 语
言。Objective-C 与 C++ 的区别主要有以下几点:
1. Objective-C 是完全动态的,而 C++是部分动态的;
Objective-C 不支持多重继承, 而 C++ 支持,不过 Objective-C 通过 proxy(代
理) 或 Category(类别)可以更优雅地实现这一特性;
2. Objective-C 通过互相传递消息实现函数调用,而 C++ 直接进行函数调用;
3. Objective-C 采用 protocol 协议(非正式和正式)的形式来定义接口,而
 C++ -采用虚函数的形式来定义接口;
4. Objective-C 没有 C++ 里有的构造函数和析构函数, 其对应物为 alloc-init/free。
如何理解 Objective-C 为动态运行时语言?
主要是将数据类型的确定由编译时,推迟到了运行时。简单来说,运行时机制
使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法。
Objective-C 中是否支持垃圾回收机制?
Objective-C 是支持垃圾回收机制的,但是在 iOS 中不可用,iOS 开发只支持手
动内存管理和 ARC(Automatic Reference Counting)。
Objective-C 的类可以实现多重继承吗?可以采用多个协议吗?
Objective-C 的类不可以多重继承,可以实现多个接口(协议)。

你可能感兴趣的:(iOS开发突击)