`
VA_wolf
  • 浏览: 10442 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

五、分类和协议

 
阅读更多

分类和协议

一、分类

有时候在处理类定义的时候,可能想要为其添加一些新方法,但是由不想通过新建很多子类来继承并且增加新方法,这个时候分类就有了用处。相当于在使用的时候只要注明是哪个分类。

 

下面用例子来说明:

#import "Fraction.h"

 

@interface Fraction (tests)

 

    -(void)printftest;

 

 

@end

/*

这部分声明了Fraction类的一个分类,名字叫test,增加了一个方法。

*/

@implementation Fraction(tests)

 

-(void)printftest

{

    NSLog(@"this is a fenlei");

}

 

@end

/*

这里实现了分类新增的方法

*/

 

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

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

 

    Fraction *my = [[Fraction alloc]init];

   

    [my setNum:1];

    [my print];

    [my printftest];

   

    // insert code here...

    NSLog(@"Hello, World!");

    [pool drain];

    return 0;

}

/*

这里通过主函数的调用简单地演示了怎么使用分类

*/

 

 

注意点

1、  尽管分类可以访问原始类的实例变量,但是它不能添加自身的任何变量,如果要添加自身的变量那么需要的是考虑创建子类;

2、  分类可以重载类中的一个方法,但是这是一种拙劣的设计习惯,其一,重载了一个方法以后就不能访问原来的方法,就要把原先的方法的功能全部赋值到信的方法中,如果创建了子类,那么就可以用super的方法来调用父类的方法;

3、  通过使用分类扩展这个类不仅对这个类有影响,对他的所有的子类也有影响。

4、  和接口不同的是,分类不必实现所有的方法,可以日后再去实现。

 

 

 

 

 

二、协议

协议是多个类共享的一个方法列表。协议中列出的方法没有相应的实现,协议提供一种方式来使用制定的名称定义一组多少有点相关的方法,常有文档说明,从而在自己定义的类中来实现他们。

 

@protocol +协议名

定义协议的方法

可选择是否实现的方法

@required+需要实现的方法

@end

 

在定义类的时候使用:(注意对于分类也可以使用)

@interface Fraction NSObject <协议>

 

实现

 

@end

具体的协议的使用在iphone开发中总结。

 

分享到:
评论

相关推荐

    五分类血球迈瑞BC-6800通讯协议

    五分类血球迈瑞BC-6800通讯协议,五分类血球迈瑞BC-6800通讯协议

    TCPIP协议详解(4-1)

    网关协议 145 14.1 网关、桥和路由器 145 14.1.1 网关 145 14.1.2 网桥 146 14.1.3 路由器 146 14.1.4 自治系统 146 14.2 网关协议:基础知识 146 14.3 内部网关协议和外部网关协议 147 ...

    短波通信协议智能识别技术研究

    其中包含预处理模块、分类识别模块和输出 模块。 在实验室条件下,获取真实短波信号困难。因此,本文通过软件建立了短波 通信信号生成模块。 按照模块化的思想完成了五种常用的短波通信协议的物理层 和数据链路层...

    Delphi网络通信协议分析与应用实现pdf清晰

    10.1.6 传真的五个阶段介绍 10.2 传真Modem的分类 10.2.1 传真分类 10.2.2 一类传真Modem 10.2.3 二类传真Modem 10.3 传真会话实例描述 10.3.1 一类传真的发送实例 10.3.2 一类传真的接收实例 10.3.3 二类...

    Visual C++网络高级编程(含有源代码)

    第五章 Telnet协议的实现 第六章 HTTP协议的实现 第七章 FTP协议的实现 第八章 文件下载 第九章 UDP协议的实现 第十章 ICMP协议的实现 第十一章 PPP协议的实现 第十二章 代理服务器的实现 第十三章 ATL、DCOM和...

    无线传感网络 孙利民主编

    第五章 拓扑控制 5.1概述 5.1.1 拓扑控制概念 5.1.2 网络拓扑结构 5.2 拓扑控制算法 5.2.1 功率控制 5.2.2 层次型拓扑结构控制 5.3 启发机制 第六章 时间同步 6.1 概述 6.2 客户-服务器模式 6.2.1 NTP...

    网络工程师资料(内容涉及网络的产生和发展、主要功能、分类以及网络体系结构和ISO/OSI参考模型。)

    前面第1章引言,内容涉及网络的产生和发展、主要功能、分类以及网络体系结构和ISO/OSI参考模型。第一部分(第2~3章)介绍数据通信知识,涉及数据通信基本概念和基础理论、传输介质、多路复用技术、数据交换技术、...

    论文研究-基于规范的多agent协同机制研究.pdf

    首先对规范在组织符号学理论和现有的规范分类基础上,提出了层次、类型和柔性的三维规范分类;在规范的基础上对合同协议进行扩充,提出基于规范的协同过程。该协同框架由两大层次和五个阶段构成,为agent协同提供了...

    计算机网络基础视频教程(第五部分)

    计算机网络的作用和分类 计算机网络基础1.6.主流网络操作系统介绍 计算机网络基础2.1.网络拓朴结构详述 计算机网络基础2.2.常见的网络传输介质 计算机网络基础2.3.常用网络互联设备的工作原理 计算机网络基础3.1....

    计算机网络安全基础课件

    网络的层次体系结构和网络协议;网络标准化 二、物理层,数据通信的理论基础,物理传输媒体、编码与传输技术及传输系统 三、数据链路层,差错检测与校正,数据链路层协议 四、局域网,多路访问协议及IEEE802局域网...

    软件工程专题五:计算机网络知识

    1.2网络协议和架构模型:  网络协议(有时也称为通信协议)是指在计算机与计算机之间进行通信必须遵循的一些事先约定好的规则。网络协议必须遵循标准化的体系结构,目前主要有ISO的OSI标准和TCP/IP协议组标准。  ...

    通信与网络中的LSI推出高级通信处理器APP3300,置入安全协议处理引擎

    APP3300大幅提高了在服务分类、服务交付和针对下一代接入网络的安全服务方面的性能。  APP3300是LSI第五代高级数据包处理器,在SoC中嵌入了安全协议。APP3300提供高达3.5Gbps限定数据带宽,独立控制水平负载,...

    ISO8583.pdf

    描术8583协议规范 一、定义与说明 二、报文类型 1、 报文的分类与标识 2、 报文重复 3、 报文类型的说明 三、位元表和数据元目录 四、数据元详解 五、拆包举例说明

    网络工程师资料(本书共20章,分为五大部分)

    前面第1章引言,内容涉及网络的产生和发展、主要功能、分类以及网络体系结构和ISO/OSI参考模型。第一部分(第2~3章)介绍数据通信知识,涉及数据通信基本概念和基础理论、传输介质、多路复用技术、数据交换技术、...

    软考中级网工考试学习笔记

    1、包括网工第五版较全面的学习笔记(近4万字)、常用检测命令实践图、协议神图、常见编码图、网工简单的100条知识点 2、笔记目录如: 第一章 计算机基础知识 一、数据表示 (一) 定点和浮点和整数 二、逻辑计算机 ...

    上海第二工业大学计算机考研网络部分面试复习提纲参考

    文件中面试题目的编排按照参考书籍计算机网络谢稀仁第五版,进行分类,总共有五章节部分。 第一章 ·因特网的组成,边缘部分端系统的通信方式? ·计算机网络的性能指标有哪些 ? ·什么是协议?协议的三要素 ? ·...

    DotNetNuke新闻模块免费版

    协议类型:协议分为三种,免费协议已经和安装包一起下载安装,是默认协议,用户可以自由使用,但只限于建立六个文档分类,内容类型只限于文档类型。第二种是专业版协议,包括免费版全部功能,但没有分类数量和内容...

    计算机网络课后习题答案第五版(谢希仁主编)

    101 计算机网络的发展可划分为几个阶段?每个阶段各有何特点? 答:计算机网络的发展可分为以下四个阶段。...答:从网络的交换功能进行分类:电路交换、报文交换、分组交换和混合交换;从网络 的拓

    华为HCIA-Access V2.0 LVC公开课培训视频教程【共51集】.rar

    第十一章 PPP协议和PPPoE协议 11.1_PPP协议 11.2_PPPoE协议 第十二章 DHCP原理 12.1_DHCP原理 第十三章 GPON宽带业务开通与配置 13.1_VLAN介绍 13.2_宽带业务介绍 13.3_宽带业务配置 13.4_宽带业务维护...

    计算机网络相关的知识纲要

    ICMP 协议:ICMP 协议的作用、Ping 命令的原理,RIP 路由协议:基本特点、工作要点,OSPF 路由协议:基本特点、工作要点,端口、端口号及其分类。等计算机专业知识,还涉及到CRC计算,以及学会距离向量算法等,了解...

Global site tag (gtag.js) - Google Analytics