//
// 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 ;
}

OC1_协议语句的更多相关文章

  1. 传感器系列之4.12GPS定位传感器

    4.12 GPS定位实验 一.实验目的 了解GPS的基本概念 了解NMEA-0183格式数据串的组成和关于GPS的常用语句 GPS的数据串解析 二.实验材料 具有串口通讯的电脑一台 ADS1.2开发环 ...

  2. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  3. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  4. GPS格式标准

    GPS接收机串行通信标准摘要 参考NMEA-0183 美国国家海洋电子协会(NMEA—The NationalMarine Electronics Association) 为了在不同的GPS导航设备 ...

  5. Python中的with语句(上下文管理协议)

    在平时工作中总会有这样的任务,它们需要开始前做准备,然后做任务,然后收尾清理....比如读取文件,需要先打开,读取,关闭 这个时候就可以使用with简化代码,很方便 1.没有用with语句 f = o ...

  6. 【JavaScript】javascript中伪协议(javascript:)使用探讨

    javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javasc ...

  7. mysql交互协议解析——mysql包基础数据、mysql包基本格式

    mysql交互协议是开发mysql周边组件常用的协议,如JDBC,libmysql等等. 在此我们要认识到mysql交互协议其实是半双工的交互协议,至于为什么,这里就先挖个小坑,以后再填. 在探讨my ...

  8. python2.7高级编程 笔记一(Python中的with语句与上下文管理器学习总结)

    0.关于上下文管理器上下文管理器是可以在with语句中使用,拥有__enter__和__exit__方法的对象. with manager as var: do_something(var) 相当于以 ...

  9. Java Web ——http协议响应报文

    HTTP 响应报文 HTTP 响应报文由状态行.响应头部.空行 和 响应包体 4 个部分组成,如下图所示: 下面对响应报文格式进行简单的分析: 状态行:状态行由 HTTP 协议版本字段.状态码和状态码 ...

随机推荐

  1. 【转】c++笔试题

    原文:http://blog.csdn.net/dongfengsun/article/details/1541926 ①链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题. ...

  2. Codeforces Round #313 (Div. 2) A. Currency System in Geraldion 水题

    A. Currency System in Geraldion Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/c ...

  3. URAL 2048 History 蔡勒公式

     HistoryTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.acti ...

  4. 解决Download interrupted: Connection to https://dl-ssl.google.com refused的问题

    运行->drivers->etc->hosts 加入一行 74.125.237.1 dl-ssl.google.com ok! =================上述方法已经失效, ...

  5. Debian5.04安装oracle11g 笔记

    新安装了Debian5,成功安装了oracle11g.记录过程如下. 1.升级一下系统    #apt-get update    #apt-get upgrade 2.安装需要的一些组件:    # ...

  6. MDI/MDIX接口

    转载:http://blog.chinaunix.net/uid-24148050-id-137067.html MDI/MDIX is a type of Ethernet port connect ...

  7. Partitioning, Shuffle and sort

    Partitioning, Shuffle and sort  what happened? - Partitioning Partitioning is the process of determi ...

  8. Visual studio 2012 添加 GitHub

    文件-新建项目

  9. oracle10g 和oracle11g同时安装时PL/SQL连不上解决方案

    oracle10g 和oracle11g同时安装的时候,PL/SQL连不上解决办法:找到两者的配置文件改成一致 oracle10g服务端和oracle11g客户端同时安装的时候,PL/SQL连不上解决 ...

  10. Source Insight新建工程文件

    options->document options ->document type ->c source file 下 //添加 “.S”结尾的汇编语言支持   project -& ...