1、构建一个简单的类
OC中的类分两个文件,.h用来声明类的变量和函数,.m文件负责实现,与.h配合使用。
OC中最根本的类叫NSObject,OC是单继承的。
声明类以@interface开头,以@end结尾,实现类用@implementation开头,以@end结尾。
继承用冒号。
OC当中使用一个类时,导包就是#import一个类的头文件。
声明类时,成员变量要声明在大括号中,方法声明在大括号外,如果是对象方法要写-号,静态方法要写+号,所有在.h文件当中声明的方法都是公共方法,凡是类型,都要写括号,在方法名后,一个参数要一个括号,如:
//Student.h
#import <Foundation/Foundation.h>
@interface Student : NSObject {
int age;
}
-(int)getAge;
-(void)setAge:(int)age;
@end
实现类时,首先要导入.h的声明.
//Student.m
#import "Student.h"
@implementation Student
- (int)getAge {
return age;
}
- (void)setAge:(int)newAge {
age = newAge;
}
@end
2、对象的创建
对象的创建需要调用类的静态方法alloc分配内存。
调用静态方法要写[],里面是类名和方法名,返回值需要用指针来接收,也就是说,OC中的对象都要写个*。比如这句话调用了Student的一个静态方法alloc分配内存,并返回了一个指针来接收,其实alloc方法返回的是id类型,可以暂时理解为任何类型:
Student *stu = [Student alloc];
分配内存后要调用一个动态方法进行初始化,相当于stu指针给Student发送了一个init消息:
stu = [stu init];
也就是说定义一个变量需要两句话,但是很麻烦,所以可以连起来写,这种方法最常用:
Student *stu = [[Student alloc] init];
3、定义有多个参数的方法