// // Student.h // OC3_协议关键字 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <Foundation/Foundation.h> #import "Programmer.h" @interface Student : NSObject <Programmer> @end // // Student.m // OC3_协议关键字 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import "Student.h" @implementation Student - (void)writeCode { NSLog(@"writing..."); } - (void)debugCode { NSLog(@"debug..."); } - (void)report { NSLog(@"report"); } @end
// // Programmer.h // OC3_协议关键字 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <Foundation/Foundation.h> @protocol Programmer <NSObject> @required//必须实现的方法(缺省) - (void)writeCode; - (void)debugCode; - (void)report; @optional//可选实现的方法 - (void)eat; - (void)drink; @end
// // main.m // OC3_协议关键字 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <Foundation/Foundation.h> #import "Student.h" int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... //NSLog(@"Hello, World!"); Student *xiaoHua = [[Student alloc] init]; [xiaoHua report]; //[xiaoHua eat]; } return 0; }