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语言教程-第1讲-基本语法 OC语言教程-第2讲-点语法 ...OC语言教程-第7讲-协议 OC语言教程-第8讲-协议代理设计模式 OC语言教程-第9讲-Category语法 OC语言教程-第10讲-Blocks语法
超频工具 POSIX Shell脚本,可从... 注意:如果使用“ Clone or download按钮,则会Clone or download OC-tool的文件,但它不是一个回购协议,运行时会出错,因为它无法从github更新 要求 应该可以访问sh , bash ,
(3)声明一个Student的委托协议和必选一个协议方法,该协议方法可以在 学生计算完成平均分后告诉委托计算结果;(5分) (4)让Teacher遵守(3)中协议并与每个Student间建立委托的设计模式, 在Student平均分...
oc485通信协议
适用于OpenComputers的Internet协议套件 在制品 分发为OPPM存储库。 用法: oppm register luketurner/oc-ips oppm install ip rc ip enable
可以提供光通讯连接功能,支持从OC-3到千兆以太网和OC-48/STM- 16的各种速度,另外还具有处理器冗余功能和多协议功能。高性能的服务在这些实施方案中占有至关重要的地位,而Cisco 7300可以通过Cisco特有的并行快速...
2.OC使用协议实现多继承,可以遵守多个协议实现多接口。category是OC中的类别,类别是用于给一个现有类添加新方法。重写类一般采用继承的方式,分类(类别)在给以个类添加同名方法后,会造成原有类中方法的实效,而...
一个易于实现的OpenComputers网络协议。 不要与的相混淆。 Minitel旨在实现OSI模型的第3、4和5层。 层数 第三层 实现寻址,网格划分和数据报传输。 第4层 实现有序消息传递 第5层 实现可靠的,有序的双向流。 实作 ...
NULL 博文链接:https://z251257144.iteye.com/blog/1331507
使用非正式协议实现代理功能的简单demo分享给大家
让oc像swift那样给@protocol协议添加方法的默认实现教程加demo,例子里面实现了xib文件,遵守协议以后直接就能被调用的例子
EPC代融资及工程项目总承包合作框架协议oc.pdf
协议(取值)
本文将使用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(直接扩频)技术,两...
底层聊天服务基于LeanCloud(原名 AVOS ) 的 IM 实时通信服务「LeanMessage」而开发,采用 Protobuf 协议进行消息传输。ChatKit 可以帮助开发者快速集成 IM 服务,轻松实现聊天功能,提供完全自由的授权协议,...
透明的波分复用系统(WDM) 提供了部分的解决方案,因为波分复用系统...这种方法能非常有效地传输高速信号,例如吉比特以太 网、吉比特光纤通道(FC)和OC-12/STM-4,因为它不需要协议适配层和多余的信号再生的开销。
东西不多简单易懂、Swift语言如何使用UITableView、Swift与OC的混合开发、扩展(Extension)的简单使用、协议(protocol)