1. 定义类
1) 新建文件,自动生成.h .m两个文件
2) .h 接口部分
3) .m 实现部分
例子:Person类
Person.h文件
#import <Foundation/Foundation.h>// 接口 .h
@interface Person : NSObject// 父类: OC中, 所有类都有父类
// 声明特征(实例变量)
{
@public
// NS: Next Step
// 1. NSString 表示字符串, C char str[10]
// 2. 实例变量前面必须加_
// 3. NSInteger 表示整形
NSString *_name;
// 性别
NSString *_sex;
// 年龄
NSInteger _age;
}
// 声明行为(方法)
// 1. - 开头 加空格
// 2. ; 结尾
- (void)sayHello;
- (void)info;
@end
Person.m文件
#import "Person.h"// 实现 .m
@implementation Person
// 实现方法
// 1. 方法后面没有;
// 2. 输出:NSLog
// 3. @ OC 对C语言的扩展
- (void)sayHello
{
NSLog(@"Hello");// 在C语言中用printf("hello");
}
- (void)info
{
NSLog(@"姓名:%@, 性别:%@, 年龄:%lu", _name, _sex, _age);
}
@end
2. 创建对象、使用对象、实例化对象操作
2.1 创建对象
1) 导入.h文件
2) 分配内存
3) 初始化
main 中#import <Foundation/Foundation.h>
// 导入.h文件
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 1. alloc 系统提供的方法, 作用: 分配内存
// 2. 指针表示是对象的首地址, OC中, 用指针代指对象
// 3. init 系统提供的方法, 作用: 初始化
// 4. 分配内存和初始化连写
Person *person1 = [Person alloc];
person1 = [person1 init];
// 连写
// Person *person1 = [[Person alloc] init];
打印结果:
Hello
2.3 实例化对象操作
main 中
// 实例对象的赋值 ->
person1 -> _name = @"Tom";
person1 -> _age = 20;
person1 -> _sex = @"男";
[person1 info];
// 实例对象的取值
NSLog(@"姓名:%@", person1 -> _name);
}
return 0;
}
打印结果:
姓名:Tom,性别:男,年龄:20
姓名:Tom