天天看点

OC基础系列-认识接口、类、方法

接口:

一个很奇怪的现象,创建OC文件会有两个文件生成,一个是

.h

文件,一个是

.m

文件,其中

.h

文件被称为接口文件或者头文件,

.m

文件则被称为实现文件。

两者功能如下:

.h头文件管理接口部分;.m文件管理实现部分。

类:

接口标志:

@interface

@end

oc文件都以end结尾

类的作用:声明类的实例变量和方法

类所包含的内容:类名、父类名、实例变量、实力方法等。

举个例子:

.h实现:

@interface Person:NSObject {
	// 属性
	@public
	NSString *_name;  // 姓名
	NSString *_sex;   //性别
	int       _age;   //年龄
}

//  行为
- (void)sayHello;
-  (void) eat;

@end
           

.m实现:

@implementation Person

- (void) sayHello {
	NSLog(@"你好,我叫%@,今年%d岁",_name,_age);
}

- (void) eat{
	NSLog(@"我要去吃饭了");
}
@end
           

其中.h文件和.m文件没有很大的关系,只是为了方便管理,实现封装。

方法:

OC中的方法分为

类方法

实例

方法,

1 其中类方法只能类调用,如:

+(id)alloc

,注意⚠️:类方法中不能使用实例变量

2 实例方法:只能被对象调用,如:

-(void)sayHello

方法的声明:

OC基础系列-认识接口、类、方法

方法的使用:

在OC中使用消息发送机制:[接收者 方法]

说详细一点就是:给student对象发送sayHello消息。需要两个步骤:

1 student接收到消息,即方法sayHello;

2 student找到sayHello方法,并执行。

对象的创建:

对象的创建分两步:1 分配内存空间 2 对象初始化

分配内存空间:Person *p = [Person alloc];

初始化:p = [p init];

我们可以简化成:Person *p = [[Person alloc] init];

生成对象后便可以调用对象的属性及方法

Preson *p = [[Preson alloc] init];
p->_name = @"张三";    //操作实例变量
p->_age = 20;         //操作实例变量
[p sayHello];               //调用方法
NSLog(@"张三的年龄%ld",p->_stuAge);     //打印结果

运行结果:
你好
name=张三,age=20
张三的年龄20
           

更多文章查看个人主页:

Github搭建个人博客(2019最新版,亲测)