`

OC-协议

 
阅读更多

Objective-c之协议

协议的概念: 协议是多个类共享一个方法的列表。其实协议的概念已经说明了它本身的目的。

协议定义:

@protocol Printing

-(void) print;

@end

协议的使用:

#import <Foundation/NSObject.h>

#import "Printing.h"//这里使用是双引号

@interface Fraction:NSObject<Printing,NSCopying>{

      //定义变量

}

//定义一些接口方法

@end

 

举例子:

Complex.h

#import <Foundation/NSObject.h>

#import "Printing.h"

 

@interface Complex:NSObject<Printing>{

    double real;

    double imaginary;

}

-(Complex*) initWithReal:(double) r andImaginary:(double) i;

-(void) setReal:(double) r;

@end

Complex.m

#import "Complex.h"

#import <stdio.h>

 

@implementation Complex

......

-(void) print{

    //实现

}

@end

main.m

#import <stdio.h>

 

#import "Complex.h"

int main(int argc,const char *argv[]){

      //创建一个新的实例

      Complex *comp = [[Complex alloc] initWithReal : 5 andImaginary:15];

      id <Printing> printable;

 

      //print complex

      printable = comp;

      printf("The complex number is:");

      [printable print];

      printf("\n");

 

      //判断对象是否遵守了协议规则

      //这里应该是false

      if([comp conformsToProtocol:@protocol(NSCopying)] == YES){

             printf(".....");

      }

      return 0;

}

 

 

 

分享到:
评论

相关推荐

    千锋OC源码

    千锋OC源码:目录 OC语言教程-第1讲-基本语法 OC语言教程-第2讲-点语法 ...OC语言教程-第7讲-协议 OC语言教程-第8讲-协议代理设计模式 OC语言教程-第9讲-Category语法 OC语言教程-第10讲-Blocks语法

    OC-tool:POSIX Shell脚本,可从OpenCore config.plist构建一个OpenCore EFI文件夹

    超频工具 POSIX Shell脚本,可从... 注意:如果使用“ Clone or download按钮,则会Clone or download OC-tool的文件,但它不是一个回购协议,运行时会出错,因为它无法从github更新 要求 应该可以访问sh , bash ,

    OC-练习demo

    (3)声明一个Student的委托协议和必选一个协议方法,该协议方法可以在 学生计算完成平均分后告诉委托计算结果;(5分) (4)让Teacher遵守(3)中协议并与每个Student间建立委托的设计模式, 在Student平均分...

    oc485通信协议

    oc485通信协议

    oc-ips:(wip)OpenComputers Internet协议套件

    适用于OpenComputers的Internet协议套件 在制品 分发为OPPM存储库。 用法: oppm register luketurner/oc-ips oppm install ip rc ip enable

    思科7300系列互联网路由器

    可以提供光通讯连接功能,支持从OC-3到千兆以太网和OC-48/STM- 16的各种速度,另外还具有处理器冗余功能和多协议功能。高性能的服务在这些实施方案中占有至关重要的地位,而Cisco 7300可以通过Cisco特有的并行快速...

    OC部分面试题

    2.OC使用协议实现多继承,可以遵守多个协议实现多接口。category是OC中的类别,类别是用于给一个现有类添加新方法。重写类一般采用继承的方式,分类(类别)在给以个类添加同名方法后,会造成原有类中方法的实效,而...

    OC-Minitel:适用于OpenComputers的易于实现的网络协议

    一个易于实现的OpenComputers网络协议。 不要与的相混淆。 Minitel旨在实现OSI模型的第3、4和5层。 层数 第三层 实现寻址,网格划分和数据报传输。 第4层 实现有序消息传递 第5层 实现可靠的,有序的双向流。 实作 ...

    [iOS]Objective-C利用协议实现回调函数(类似java的回调函数)

    NULL 博文链接:https://z251257144.iteye.com/blog/1331507

    OC非正式协议实现代理功能

    使用非正式协议实现代理功能的简单demo分享给大家

    让oc像swift那样给@protocol协议添加方法的默认实现教程加demo,

    让oc像swift那样给@protocol协议添加方法的默认实现教程加demo,例子里面实现了xib文件,遵守协议以后直接就能被调用的例子

    EPC代融资及工程项目总承包合作框架协议oc.pdf

    EPC代融资及工程项目总承包合作框架协议oc.pdf

    OC 协议(取值)Demol.zip

    协议(取值)

    使用CoAP对接华为OC平台

    本文将使用CoAP协议来对接华为OC平台,使用的通信模组是ESP8266,如果使用NB-IOT来对接华为OC平台简单很多,因为NB-IOT的设备标识符在平台绑定,那么使用几个AT指令即可完成华为OC平台的对接和发送数据。 小熊派的...

    全国四级网络工程师知识点总结

    1、 ITU标准OC-3的速率为155.52Mbps 、OC-12的速率为622.08Mbps 2、 802.11无线标准定义的传输速率为1Mbps和2Mbps,工作在2.4GHz频段,采用CSMA/CA或者DCF协议,可以使用FHSS(跳频扩频)和DSSS(直接扩频)技术,两...

    iOS端的UI聊天组件ChatKit-OC.zip

    底层聊天服务基于LeanCloud(原名 AVOS ) 的 IM 实时通信服务「LeanMessage」而开发,采用 Protobuf 协议进行消息传输。ChatKit 可以帮助开发者快速集成 IM 服务,轻松实现聊天功能,提供完全自由的授权协议,...

    通用成帧协议和波分复用让城域网更高效

    透明的波分复用系统(WDM) 提供了部分的解决方案,因为波分复用系统...这种方法能非常有效地传输高速信号,例如吉比特以太 网、吉比特光纤通道(FC)和OC-12/STM-4,因为它不需要协议适配层和多余的信号再生的开销。

    ios-swift中简单使用UITableView swift与OC的混合开发.zip

    东西不多简单易懂、Swift语言如何使用UITableView、Swift与OC的混合开发、扩展(Extension)的简单使用、协议(protocol)

Global site tag (gtag.js) - Google Analytics