OC协议protocol

Person.h

##import

//1.引入协议文件

#import"MotherProtocol.h"

//2.遵守协议本类名:父类名后<协议>

@interfacePerson :NSObject

@property(nonatomic,strong)NSString*name;

-(void)eat;

@end

Person.m

#import"Person.h"

@implementationPerson

-(void)eat{

NSLog(@"吃吃吃,就知道吃");

}

//遵循协议,就需要实现协议中的方法

-(void)buy{

NSLog(@"来自协议中的方法-----买买买,就知道买");

}

-(void)cook{

NSLog(@"来自协议中的方法-----cooking");

}

-(void)washClothes{

NSLog(@"来自协议中的方法-----好好洗衣服");

}

@end

MotherProtocol.h

#import

@protocolMotherProtocol

@required//这个关键字下的方法一旦遵循协议就必须实现(--默认---)

//协议部分,只能声明方法不能声明属性

-(void)buy;

-(void)cook;

@optional//这个关键字下的方法遵循协议可实现可不实现

-(void)washClothes;

@end

main.m

#import

#import"Person.h"

intmain(intargc,constchar* argv[]) {

@autoreleasepool{

Person*person = [[Personalloc]init];

person.name=@"哈哈";

NSLog(@"%@",person.name);

[personeat];

//谁实现方法,谁调用方法

[personbuy];

[personcook];

[personwashClothes];

}

return0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容