美文网首页
类目、延展、代理的定义:

类目、延展、代理的定义:

作者: 向日葵_wwx | 来源:发表于2016-01-05 22:09 被阅读76次

类目、延展、代理的定义:
<一>类目:Category:也叫分类,类目是为了没有源代码的类扩充功能的,扩充的功能会成为原有类的一部分,可以通过原有类或者原有类的对象直接调用,并且继承。该方法只能扩充方法,不能扩充实力变量(这就是类目和延展的区别)类目能不能添加实例变量?

<二>延展:是声明在.m文件中,是为能够获得源代码的类创建私有方法和实例变量的。延展更重的是有一个目录功能

<三>设置代理步骤:(A是老板,B是代理)
第一步:A创建了一份协议,协议里有2个方法需要实现,这时就得设置一个代理属性id<协议名>代理的名字 。这块的id表示所有类型都可以成为代理。
第二步:B是遵守协议的,也就是A的代理,在成为代理之前,B必须先导入具有协议的头文件,然后再签订A创建的协议:NSObject后加<协议名>协议属性里的修饰用assign,这样是防止循环引用的(协议方法面试时是需要手写的)
第三步:B签订协议后,就可以在.m文件中去实现协议里的方法了
第四步:B把协议里的方法实现后,A就可以在自己的.m文件中写两个与协议里对应的方法来让代理实现具体实现如下:在实现方法之前我们得加以判断,看该方法是否已经实现,如果没有实现,我们在实现,否则不实现,这样的话,就是比较安全。
第五步:在主函数中创建对象,实现方法
1、先创建A对象
2、在创建B对象
3、将B最终设置为A的代理:
Boss *boss = [[Boss alloc]init];
Student *stu = [[Student alloc]init];
stu.name = @"zhansan";
boss.delegte = stu;//设置代理
[boss careApp];在这块调用的是自己的方法,因为在这个方法里面已经让代理去操作了,所以整件事情的过程是代理去实现的,但是最终展示结果的是老板[boss coding];

相关文章

  • 类目、延展、代理的定义:

    类目、延展、代理的定义:<一>类目:Category:也叫分类,类目是为了没有源代码的类扩充功能的,扩充的功能会成...

  • 类别(category)延展(extension)

    Objective-c中提供了可以让我们扩展类定义的手段:类目,延展和协议。类目:为已知的类增加新的方法;延展:通...

  • 类目,延展,和协议,代理

    为什么使用类目是一种为现有的类添加新方法的方式有时需要对现有的类添加一些方法,之前都是通过继承相关的类,然后再子类...

  • 类目和延展的作用和区别

    类目和延展的作用都是为了扩展一个类。一、类目的定义和作用 二、类目的声明: 三、类目实现: 四、类目使用需要注意的...

  • 类目、延展

    目录:1、类目2、延展 1、类目(类别)Category 1.从定义看类目就是给类来添加一个眼睛?,哈哈,其实就是...

  • 类目 延展 协议

    前言 Objective-C中提供了可以让我们扩展类定义的手段:类目,延展和协议。类目:为已知的类增加新的方法;延...

  • ios 类目(类别),延展(扩展),代理的区别

    转载自明成伟俊 一、首先类目(类别)Category 从定义看类目就是给类来添加一个眼睛?,哈哈,其实就是添加方法...

  • 类目和延展

    0、封装 一、类目(category)的基本概念和用法 1、封装是面向对象的一个特征,OC也不意外,但有时候我们会...

  • OC类目、延展

    类目: 定义:为现有工程中的类和系统类添加新的方法 作用:在类目中添加新的方法及属性和在原类中添加方法和属性是一样...

  • 类目和延展

    main.h 1.延展Person_PersonExtension.h Person.h Person.m 2.为...

网友评论

      本文标题:类目、延展、代理的定义:

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