1:OC新增数据类型有哪些?
逻辑型: boolean (ture false)
BOOL (YES NO)
@try .... @catch .... @finally
Id :万能指针,动态对象类型
SEL 选择器
Block 代码块
2:什么是面向对象?
是相对于面向过程而言,根据实体建立模型,模拟客观世界,实现软件的办法.
3:面向对象编程?
一种解决软件复用的设计和编程方法,大幅度提高软件项目的成功率.
4:面向对象三大特性 : 封装性 多态性 继承性
5:面向对象 与面向过程的区别?
面向对象是基于 面向过程的,
强调 具备功能的对象,关注的是 解决问题需要 那些对象
面向过程 强调 功能行为 关注的是 解决问题需要 那些步骤
6:类和对象是什么?
类 是将具有相同属性和行为的实体的向上抽象.(多个同种类型事物的抽象 ).
对象 指现实世界中各种各样的实体,它可以指具体的事物也可以指抽象的事物
7:类和对象 的关系?
类和对象是分不开的;
每个对象,一定有自己所属的类;
每个类,一定有自己对应的实例;
类由对象的抽象而来;
对象由类的具体实例而来;
8:对象存储细节?
当创建一个对象的时候:Person *p1 = [Person new],做了三件事情:
1.向计算机申请内存空间;(栈区)
2.给实例变量初始化;
3.返回所申请空间的首地址;
9:NSLog 和printf的区别?
1,NSLog可以自动换行, 输出调试信息 和时间戳, printf不能.
2,NSLog 函数的参数是一个NSString 对象
3,printf函数的参数是一个字符串常量指针
10:import和include的区别?
import可以防止头文件的重复包含
include不能防止头文件重复包含,可使用条件编译防止头文件的重复包含.
11:方法的声明和实现?
+ 表示类方法(静态方法)
- 表示对象方法(动态方法)
.h中声明的所有方法作用域都是public类型,不能更改 .
1)声明 类使用关键字 @interface, 通常放到.h的头文件中
2)实现 类 使用关键字:@implementation, 通常放到.m的文件中,主要是对方法的具体实现
12:对象方法 与类方法 的区别?
对象方法
(1)对象方法以-开头;
(2)对象方法只能由对象来调用
(3)对象方法中可以访问当前对象的成员变量
类方法
(1)类方法以+开头 ;
(2)类方法只能由类来调用
(3)类方法中不能访问实例(成员)变量.
(4)类方法的好处和适用场合:
不依赖于对象,执行效率更高;
能用类方法解决的问题,尽量使用类方法;
场合:当方法内部不需要使用到成员变量时,可以改为类方法
13:为什么类方法中不能访问实例(成员)变量?
因为类方法由类来调用,并没有创建存储空间 来存储类中的成员变量。
14:OC的文件有哪几种?
.h 头文件(声明类)
.m OC源文件(类的实现)
|
|