zoukankan      html  css  js  c++  java
  • OC1_协议语句

    //
    //  Programmer.h
    //  OC1_协议语句
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Coder.h"//遵守协议 必须包含协议所在的头文件
    
    @interface Programmer : Coder <Coder>
    
    @end
    
    
    //
    //  Programmer.m
    //  OC1_协议语句
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Programmer.h"
    
    @implementation Programmer
    
    - (void)writeCode
    {
        NSLog(@"作为一个码农, 我努力写代码");
    }
    
    - (void)debugCode
    {
        NSLog(@"这个程序有点问题,我再调试一下");
    }
    
    - (void)report
    {
        NSLog(@"老板这个程序调试OK, 可以上线了");
    }
    
    @end
    //
    //  Coder.h
    //  OC1_协议语句
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @protocol Coder <NSObject>
    
    - (void)writeCode;
    - (void)debugCode;
    - (void)report;
    
    @end
    
    @interface Coder : NSObject
    
    @property (copy,nonatomic)NSString *name;
    
    
    @end
    
    
    //
    //  Coder.m
    //  OC1_协议语句
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Coder.h"
    
    @implementation Coder
    
    @end
    //
    //  main.m
    //  OC1_协议语句
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Programmer.h"
    
    //协议:约定双方相互遵守的规范
    //生活中,劳务合同, 就业协议
    //计算机中: http:// ftp:// smb://  tcp udp  uart usb spi i2c
    //OC中的协议:
    //一组方法的列表
    
    //1.定制协议
    //在Foundation中所有的协议直接或者间接的遵守NSObject协议
    //@protocol Coder <NSObject>
    //
    //- (void)writeCode;
    //- (void)debugCode;
    //- (void)report;
    //
    //@end
    ////2.遵守协议 协议名放在<>中, 遵守多个协议 ,协议之间用逗号隔开
    //@interface Programmer : NSObject <Coder,NSCopying>
    //
    //@end
    
    //3.实现协议
    //由遵守协议的类实现,协议中的方法默认是必须实现
    
    //4.使用协议
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            Programmer *xiaoHua = [[Programmer alloc] init];
            xiaoHua.name = @"小华";
            
            [xiaoHua writeCode];
            [xiaoHua debugCode];
            [xiaoHua report];
        }
        return 0;
    }
  • 相关阅读:
    jquery toggle(listenerOdd, listenerEven)
    struts quick start
    hdu 1518 Square (dfs)
    hdu 2544 最短路 (最短路径)
    hdu 1754 I Hate It (线段树)
    hdu 1856 More is better (并查集)
    hdu 1358 Period (KMP)
    hdu 2616 Kill the monster (DFS)
    hdu 2579 Dating with girls(2) (bfs)
    zoj 2110 Tempter of the Bone (dfs)
  • 原文地址:https://www.cnblogs.com/0515offer/p/4598402.html
Copyright © 2011-2022 走看看