码迷,mamicode.com
首页 > 其他好文 > 详细

objective-C protocol协议

时间:2015-11-04 13:05:10      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

  一切皆有可能

协议定义了一组方法,让其他类实现。
协议本身不是类。
协议是一组未实现的方法。
协议是一组有一定相关联。
协议中的方法由其他人实现
 
//
//  main.m

#import <Foundation/Foundation.h>

#import "Student.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        Student *stu=[[Student alloc]init];
        [stu finishTeask];
        [stu dontlate];
        [stu wearNeat];//可选
   
    }
    return 0;
}

 

在协议中个默认的方法都是必须实现的
协议有两个关键字:@required和@optional
@required表示必须实现的方法
而@optional表示可选实现的方法
//
//  Scsy.h

#import <Foundation/Foundation.h>
//@protocol Scsy协议<父类>
@protocol Scsy <NSObject>
@required//必须实现
//声明
//完成作业
-(void)finishTeask;
//不迟到
-(void)dontlate;
@optional//可选
//衣着整洁
-(void)wearNeat;
//
//  Student.h

#import <Foundation/Foundation.h>
#import "Scsy.h"    
@interface Student : NSObject<Scsy>

@end
//
//  Student.m

#import "Student.h"

@implementation Student
-(void)finishTeask{
    NSLog(@"完成作业");
}
-(void)dontlate{
    NSLog(@"不能迟到");
    
}
-(void)wearNeat{
    NSLog(@"衣着整洁");
}
@end

 

objective-C protocol协议

标签:

原文地址:http://www.cnblogs.com/wyhwyh2114/p/4927721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!