1.#import<Foundation/Foundation.h>,可以自动避免头文件的重复,当在同一个源程序文件中,
有重复定义头文件,它可以自动避免重复,会有错误提示。
#include<stdio.h>,不能够自动避免头文件的重复,需要通过条件编译,来避免重复的头文件。
(#ifndef #define)
2.OC和C的差异:
C中文件的后缀包含: .c .o .a .out
OC中包含的后缀名: .h .m(oc源文件)
3.OC中特有的数据类型:
1)block特有类型(是一个代码块,有参数和返回值)
2)指针数据类型:class id(万能指针)
3)特殊类:(SEL,nil<空>) NSObject
4)OC兼容C中的所有数据类型
新增的数据类型:Boolean true false (1真,0假)
底层实现方式:typedef unsigned char Boolean;//数据类型由int转为char,优化了内存
BOOL(OC特有),作用:保存逻辑值 取值:YES NO
4.NSString *s=@"Hello";//创建一个字符串,NSString,是一个字符串类
NSLog(@"%@",s);//打印出字符串对象S
5.OC中新增的关键字:
所有关键字均以@开头(用于区分重复)
6.OC中新增的流程控制语句:
增强for循环
7.OC中函数的定义,声明的差异:
OC中函数称为方法;
+(void)test1;//+类似于java中的static关键字修饰的(变量/函数),都称为类的
随着类的加载而加载,消失而消失,是静态的存在于方法区;
-(void) test2;//- 类似于非static修饰的变量,属于对象的,称为实例的(变量/函数)
8.编译过程:
编译 链接
C语言: .c——>.o——>.out
OC语言: .h——>.m——>.c——>.cpp
9.OC中的异常捕获机制:
@try{
//可能出现异常的语句
}catch(ExceptionType e){
//处理异常的语句
}...
finally{
//最重要执行的语句,内存释放等
}
10.面向对象的思想:
万物皆对象,例如想坐车去某地,我们可以坐车从A到B。不需要自己做一辆车出来。
类:一类具有相同特性的事物的抽象集合。
对象:现实生活中,实实在在的事物。
类的实际例子化就是对象,对于面向对象编程中,先定义一个类,类名和类体。类体中包括了,
成员变量(实例变量),方法(函数,功能)。
对象可以调用类中的变量还有方法,可以理解为,现有类后有对象。 |
|