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

方法的聲明:

在這裏插入圖片描述
方法的使用:

[person sayHello];

在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最新版,親測)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章