//// SportProtocol.h// day17#import@protocol SportProtocol // 方法声明列表- (void)playFootball;- (void)playBasketball;- (void)playBaseball;@end
//// Person.h// day17#import#import "SportProtocol.h" //相当于拷贝了一份方法的声明@interface Person : NSObject //继承了协议,就有了协议里面所有方法的声明。继承实类默认就有实现,继承协议没有实现,@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#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;}