OC高效率52:(二)類的頭文件中儘可能少引用其餘頭文件

//
//  EOCPerson.h
//  OC高效率52:類的頭文件中儘可能少引用其餘頭文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import <Foundation/Foundation.h>
//#import "EOCEmployer.h"
@class EOCEmployer;//向前申明該類,將引入頭文件的時機儘可能延後,只有肯定須要時才引入;若是把EOCEmployer.h引入到EOCPerson.h,那麼只要引入EOCPerson.h就會一併引入EOCEmployer.h的全部內容。向前聲明也解決了兩個類互相引用的問題

@interface EOCPerson : NSObject
@property (nonatomic,copy) NSString *firstName;
@property (nonatomic,copy) NSString *lastName;
#pragma mark -要點
/*
 * 除非確有必要,不然不要引入頭文件。通常來講,應在某個類的頭文件中使用向前聲明來說起別的類,並在實現文件中引入哪些類的頭文件。這樣作能夠儘可能下降類之間的耦合。
 
 *有時沒法使用向前聲明,好比要聲明某個類遵循一項協議。這種狀況下,儘可能把「該類遵循某協議」的這條聲明移至「class-continuation分類中」。若是不行的話,就把協議單獨放在一個頭文件中,而後將其引入。
 
 */

@property (nonatomic,strong) EOCEmployer *employer;
@end
//
//  EOCPerson.m
//  OC高效率52:類的頭文件中儘可能少引用其餘頭文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import "EOCPerson.h"
#import "EOCEmployer.h"

@implementation EOCPerson

@end
//
//  EOCEmployer.h
//  OC高效率52:類的頭文件中儘可能少引用其餘頭文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import <Foundation/Foundation.h>
@class EOCPerson;
@interface EOCEmployer : NSObject

-(void) addEmployee:(EOCPerson *)person;
-(void) deleteEmployee:(EOCPerson *)person;
@end
//
//  EOCEmployer.m
//  OC高效率52:類的頭文件中儘可能少引用其餘頭文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import "EOCEmployer.h"
#import "EOCPerson.h"
@implementation EOCEmployer

@end
相關文章
相關標籤/搜索