OC學習 協議 類目和延展

2021-07-04 11:32:52 字數 1142 閱讀 8221

定義乙個student類

#import 

//協議studentprotocol

@protocol

studentprotocol

@property (nonatomic,assign) nsinteger age;

-(void) fun1;

@end

//student類遵循協議studentprotocol

@inte***ce

student : nsobject

@end

//類目

@inte***ce

student (mycatagory)

@property (nonatomic,strong) nsstring *name;

-(void) fun2;

@end

//延展

@inte***ce

student ()

@property (nonatomic,strong) nsstring ****;

-(void) fun3;

@end

#import "student.h"

//倒入標頭檔案objc/runtime.h實現objc_……方法

#import

@implementation

student

//協議studentprotocol的方法實現

@synthesize age = _age;

-(void) fun1

//延展的實現

@synthesize *** = _***;

-(void) fun3

@end

//類目的實現

@implementation

student (mycatagory)

//在類目中下面語法有誤,不通過

//@synthesize name = _name;

//寫setter方法

-(void) setname:(nsstring *)name

//寫getter方法

-(nsstring *) name

-(void) fun2

@end

OC 類目延展協議

目錄 一 類目 什麼是類目?類目 也稱類別 category 是一種為現有類新增新方法的方式。類目和乙個類的實現非常相似,只是語法稍有不同 類目的語法 類目的特點 為什麼我們要使用類目?類目例項 現在我們要對nsstring增加新的方法用於比較兩個字串的大小,告訴使用者誰大。第一步 建立類目 第二步...

類目 延展 協議

1.類目 類目就是為已存在的類新增新的方法。但是不能新增例項變數。比如系統的類,我們看不到他的.m檔案,所以沒有辦法用直接新增方法的方式去實現。inte ce nsmutablearray sort 為nsmutablearray類新增sort方法,sort就是類目名,做到見名知意 void inv...

延展 協議 類目

一.延展 1.延展以 inte ce開頭,然後寫當前延展的類名,類名後加乙個 到 end結束 2.一般延展會寫在自己寫的.m檔案中,把一些不想讓外部呼叫的屬性放在延展裡,這樣這條屬性只能夠在類的內部使用,外部使用不了,盡最大可能保護當前類的安全 3.類目一般是給看不見.m的檔案進行擴充套件,延展一般...