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;
    }
  • 相关阅读:
    mojoportal中弹出窗口
    css 层居中
    mojoportal中添加自定义javascript
    C#执行cmd [转载]
    异步委托 学习笔记
    Windows Sysinternals
    有关int,Int32的疑惑解答
    WEB Debug tools汇总
    规范很重要
    [笔记]VGA 接口电阻网络阻抗
  • 原文地址:https://www.cnblogs.com/0515offer/p/4598402.html
Copyright © 2011-2022 走看看