oc63--协议@protocol1

Posted 672530440

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oc63--协议@protocol1相关的知识,希望对你有一定的参考价值。

//
//  SportProtocol.h
//  day17
#import <Foundation/Foundation.h>

@protocol SportProtocol <NSObject>
// 方法声明列表
- (void)playFootball;
- (void)playBasketball;
- (void)playBaseball;
@end
//
//  Person.h
//  day17

#import <Foundation/Foundation.h>
#import "SportProtocol.h"  //相当于拷贝了一份方法的声明
@interface Person : NSObject <SportProtocol>  //继承了协议,就有了协议里面所有方法的声明。继承实类默认就有实现,继承协议没有实现,
@end
//
//  Person.m
//  day17

#import "Person.h"

@implementation Person

- (void)playFootball
{
    NSLog(@"%s", __func__);
}

- (void)playBasketball
{
    NSLog(@"%s", __func__);
}

- (void)playBaseball
{
    NSLog(@"%s", __func__);
}
@end
//
//  main.m
//  day17

#import <Foundation/Foundation.h>
#import "Person.h"
#import "Student.h"
#import "Teacher.h"

int main(int argc, const char * argv[]) {

    Person *p = [Person new];
    [p playFootball];
    [p playBasketball];
    [p playBaseball];
    
    Student *stu = [Student new];
    [stu playBaseball];
    
    
    Teacher *tea = [Teacher new];
    [tea playBasketball];
    
    return 0;
}

 

以上是关于oc63--协议@protocol1的主要内容,如果未能解决你的问题,请参考以下文章

OC基础回想协议

OC第九节——协议与代理

OC 中 类目延展和协议

Swift系列三十 - 从OC到Swift

编写OC高质量的代码的有效方法

编写OC高质量的代码的有效方法