美文网首页
协议和分类、

协议和分类、

作者: 晴天ccc | 来源:发表于2018-04-23 09:25 被阅读0次

Demo下载地址、

OC的协议:

协议就是规则,我们定义了一个协议就相当于制定了一个规则。OC中的类可以遵守规则,遵守协议的类就相当于多了一种或几种能力。

协议的定义:

@protocal

    @required 声明必须遵守的属性和方法 (默认)

    @optional  声明可选遵守的属性和方法。

@end

协议的遵守:

@interface XYClass : NSObject <XYProtocal> 

协议在尖括号中。如果遵守多个协议则:

@interface XYClass : NSObject  <XYProtocal,XYProtocal1,XYProtocal2>

创建一个协议:

然后我们编辑协议类,里面的方法有选择实现和必须实现。

我们创建大学生类。UniversityStudent 在h文件中遵守协议,在m文件中实现协议的方法。

最后我们在main函数里面进行调用。

输出结果就是:

OC的分类:

概念:Category  分类是OC特有的语言,依赖于类。分类的作用:分类也是类的一部分。也是类的一个补充和扩展部分。

在不改变原来的类内容的基础上,为类增加一些方法。

如何创建一个分类:

(1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量

(2)在分类方法的实现中可以访问原来类中的成员变量;

(3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警告);

(4)方法调用的优先级:分类->原来的类->父类,若包含有多个分类,则最后参与编译的分类优先;

(5)在很多的情况下,往往是给系统自带的类添加分类,如NSObject和NSString,因为有的时候,系统类可能并不能满足我们的要求。

(6)在大规模的应用中,通常把相应的功能写成一个分类,可以有无限个分类,对原有类进行扩充,一般分模块写,一个模块一个分类。

 

相关文章

  • 协议和分类、

    Demo下载地址、[https://github.com/wnkpzzz/ZCZTestDemo-master] ...

  • 协议和分类

    通过委托与数据源协议进行对象间通信 委托模式的主旨是:定义一套接口,某对象若想接受另外一个对象的委托,则遵守此接口...

  • 15.协议和分类

    1、通过委托与数据源协议进行对象间通信 委托模式为对象提供了一套接口,使其可由此将相关事件告知其他对象。将委托对象...

  • ☆技术问答集锦(四)

    2 TCP 与 UDP 网络层:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议;传输层:TCP协...

  • 关于协议和分类中的@property

    关于协议和分类中的@property 在@protocol中使用@property只会生成getter 和sett...

  • iOS Protocol、Category中声明属性

    之前一直有一个误区,认为协议和分类中不能用@property 形式声明属性,现在做一下总结: iOS中协议中和分类...

  • 用 // 代替 http:// 有什么好处(自适应https)

    // 缺省协议 //缺省协议的使用,代表资源访问的协议和当前页面保持一致,如果当前页面是http ,采用http协...

  • 12.socket编程 - TCP

    socket抽象层位于应用层和传输层之间,是对传输层TCP协议和UDP协议的封装,可以让我们无需关心复杂的TCP协...

  • Effective Objective-C 2.0 读书笔记四

    第四章 协议与分类 协议和分类都是OC中非常好的特性,善用这些功能会大大增加我们代码的效率。 23. 通过委托与数...

  • 04-Category(分类)/Extension(匿名分类/类

    一、Category 1、Category的基本使用 2、Category的实现原理 分类中的对象方法、类方法、协...

网友评论

      本文标题:协议和分类、

      本文链接:https://www.haomeiwen.com/subject/qbeffftx.html