1. 在OC语言里面导入头文件,使用的是#import
2. <Foundation/Foundation.h>是OC里面默认的一个系统类库,里面包含了基本的输入输出函数,字符串函数,数组等常用的东西,在OC里面几乎所有以NS开头的都在里面。
3. OC是什么样的语言
1.面向过程的编程:是以时间先后顺序或者因果关系为编程中心的一种编程思想。
2.面向对象的编程:是以功能点的实现为编程思想,是程序功能模块,各个功能模块是相互独立的,互不影响,更适合团队开发
4.如何使用OC
- 要会创建类
- 要会创建对象
- 会写‘+’‘-’方法
- 会定义实例变量,并且会使用实例变量
- C是面向过程的编程语言,OC是面向对象的编程语言
5.OC语言中,一个.h文件和一个.m文件在一起组成了一个类
- .h文件里面专门负责变量的声明,方法(函数)声明,属性的声明。
1.类的声明使用关键字@interface和@end。冒号(:)表示继承关系,冒号后面的是父类
2.h中的方法只是做一个声明,并不对方法进行实现。只是说明一下方法名,方法的返回值类型,方法接受的参数类型,并不会编写方法内部的代码。 - .m是类的实现文件,用于实现.h中生命的方法。类的实现使用的关键字为@implementation和@end。
6.方法的声明和实现
都是以 ‘+’ 和‘-’ 开头(+ 表示类方法,其实静态方法)(- 表示对象方法,其实动态的方法)
- -:方法表示实例方法,该类方法在调用的时候用对象去调用。
- +:表示类方法(静态方法)该类型的方法,在调用的时候用类名去调用
方法的定义规则:
-
无参数类型的
- (void)hello;
-
方法类型(返回值类型)方法名;
- (void)hello:(NSString *)name andAge:(int)age;
-
有参数类型的规则(冒号属于方法名);
方法类型(返回值类型)方法名1:(参数类型)参数名 方法名2:(参数类型)参数名 。。。。。
+ (void)hi:(NSString *)name;
注意:一个冒号:对应一个参数 而且冒号也是方法名的一部分
7.实例变量
在@interface 和@end创建
1.写在大括号里面的东西叫做:实例变量,他的作用域都是全局
2.在oc里面凡是基本数据类型的实例变量都不加*修饰(int char double等)
3.实例变量的定义是为了在类的内部使用,但是也可以在类的外部使用
4.实例变量约定以下划线开始。
5.实例变量可以写在.m中,但要以类目的形式
6.在类的外部直接使用实例变量是不安全的,可以使用方法的形式对实例变量赋值,这样具体的赋值代码会写在.m文件中,而.m文件是可以打包,让别人打不开,看不见源代码怎么写的,所以比较安全,通过方法的形式,还可以加上一些逻辑判断等等,所以要比直接使用实例变量更好,而oc中规定对实例变量赋值的方法以set开头。
属性部分,属性以@property作为标志
8.例如
Student * stu = [Student alloc];
OC的方法调⽤是用中括号[ ],⽅法调⽤者写在括号左侧,⽅法名写在括号右侧,中间留点空格。因此上面是调用了Studen类的静态⽅法alloc。 上面调⽤的alloc方法会返回分配好内存的Student对象,在等号左边⽤了一个指向Student类型的指针变量 stu来接收这个对象,注意stu左边的 * 号。所有OC对象都是⽤用指针变量来接收的,如果你不了解指针,你记住下面这点就⾏了:利⽤用类名定义一个变量时,类名后面一定要带个*号。
网友评论