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;
    }
  • 相关阅读:
    Struts2拦截器
    struts2介绍
    java读写文件大全
    Intent的详细解析以及用法
    sigmoid和softmax的应用意义区别
    C 实现 创建多个txt文件,并以自然数列命名,然后将产生的十进制数据写入txt文档
    k-means原理和python代码实现
    非极大值抑制 NMS
    JetSonNano darknet yolov3工程通过CMakeLists.txt配置编译环境
    C文件 CMakeList.txt编译器配置错误的问题 error:invalid conversion from 'int' to 'LAYER_TYPE' [-fpermissive]....
  • 原文地址:https://www.cnblogs.com/0515offer/p/4598402.html
Copyright © 2011-2022 走看看