#import <Foundation/Foundation.h> @interface EOCPerson : NSObject @property (nonatomic , copy , readonly) NSString *firstName; @property (nonatomic , copy , readonly) NSString *lastName; -(id)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName; @end //continuation n. 繼續;續集;延長;附加部分 /** * class-continuation * 惟一能聲明實例變量的分類 * 此分類沒有特定的實現文件,其中的方法都應該定義在類的主實現文件裏 * 處理與C++混編時,隱藏C++文件 * 擴充屬性,封裝在類中的數據就由實例自己來控制,而外部代碼則沒法修改其值 * 視爲私有的協議也應該寫在class-continuation類裏 */ #import "EOCPerson.h" @interface EOCPerson ()//<EOCSecretDelegate> { NSString *_anInstanceVariable; } @property (nonatomic , copy , readwrite)NSString *firstName; @property (nonatomic , copy , readwrite)NSString *lastName; -(void)p_privateMethod; @end @implementation EOCPerson -(id)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{ return nil; } -(void)p_privateMethod{ } @end