------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

分类 (catgory)的概念及作用

1)在不修改源代码的基础上增加新的方法

2)一个庞大的类可以分模块开发

3)一个庞大的类可以由多人编写,更有利于团队的合作

分类的目的:

1)对现有的类进行扩展

比如,你可以扩展cocoa touch 框架中的类,你在类别中增加的方法会被子类所继承,而且在运行时跟其他的方法没有区别。

2)作为字累的代替手段

不需要定义和使用一个字累,你可以通过类别直接向已有的类里增加方法。

3)堆类中的方法归类

利用catgory把一个庞大的类或氛围靠块进行开发,从而更好的对类中的方法进行更新和维护。

分类的命名规则:类名+扩展方法

分类的接口声明与类的定义是十分相似,但分类不继承父类,只需要带一个括号,表明该分类的主要用途。

使用步骤:

1)先声明一个类

格式:

@interface 待扩展类名(分类的名称)

@end

person+base---->分类文件的命名规则

如:

分类(catgory)使用注意事项

1)分类只能增加方法,不能增加成员变量 @property (可能编译不报错,但运行有问题)

2)分类可以访问原来类的成员变量

例如:

person.h

person.m

分类(catgory)延展

1.类延展的概念

延展又称为扩展(Extendsion)

Extendsion是catgory的一个特例

其名字为匿名(为空 )并添加的方法一定要予以实现(catgory 没有这个限制)

@interface Myclass( ){

float value;

}

-(void)setValue:(float)NewValue;

@end

这种写法的类别叫,匿名类别,又叫类扩展,其实就是为一个添加额外的原来没有的变量,方法或者属性。

2)延展的实现特点:

可以在延展中定义实例变量和方法。

延展不能使用@implementation 类名(),实现类别的方法。

延展增加的方法直接在原类里实现方法。

oc-分类(catgory)的概念及使用相关推荐

  1. 【数据挖掘笔记八】分类:基本概念

    8.分类:基本概念 分类是一种重要的数据分析形式,它提取刻画重要数据类的模型,这种模型称为分类器,预测分类的(离散的.无序的)类标号. 8.1 基本概念 分类和回归(数值预测)是预测问题的两种主要类型 ...

  2. 【机器学习】1-机器学习的分类及重要概念

    本文与原文相同,未加Python代码. [机器学习]机器学习的分类及重要概念 文章目录 [机器学习]机器学习的分类及重要概念 引言(Introduction) 1.1 欢迎 1.2 机器学习是什么? ...

  3. 分类决策树考虑了经验风险吗_数据挖掘导论 第4章 分类:基本概念、决策树与模型评估...

    第4章 分类:基本概念.决策树与模型评估 分类(classification):分类任务就是通过学习得到一个目标函数(target function)f,把每个属性集x映射到一个余弦定义的类标号y.目 ...

  4. 爬虫学习记录1:通讯协议、网络模型、爬虫分类及常见概念

    通讯协议.网络模型.爬虫分类及常见概念 1.通讯协议 1.1端口 若把一个ip地址比作一栋房子,那么端口就是进入这座房子的门. 为了标识应用程序,所有出现了端口. 不同的端口代表不同的应用程序,通过数 ...

  5. 图论算法-图论的表示、分类及基本概念(系列1)

    什么是图论 图论的应用: 2. 图论的表示 3. 图论的分类 4. 图的基本概念 邻接矩阵:

  6. [黑马IOS自学第十篇]OC语言基础,面向对象概念,类学习

    一.类学习引入 //缺点 _result的结果一直在变化,得创建变量,在堆区一直申请空间 <span style="font-size:14px;">#import&l ...

  7. python数据分析及可视化(一)课程介绍以及统计学的应用、介绍、分类、基本概念及描述性统计

    数据分析及可视化介绍 这门课涉及多个库,其中Numpy用于数值运算:Pandas用于数据处理:Matplotlib.Seaborn.Pyecharts用于数据可视化. 数据分析介绍 概念 用适当的统计 ...

  8. linux系统文件分类,Linux系统文件概念和文件类型

    当使用Linux命令对文件进行操作时,就可访问存储在一个结构化环境中的信息.所有这些信息都存放在一个分层的结构中,可以方便且有条不紊地管理数据.重要的是,不仅应学会如何访问这些数据,而且应学会如何控制 ...

  9. [Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)

    一:字典的基本概念 Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样. 通过key(键) ...

  10. 生物特征识别门禁系统分类和基本概念

    生物特征识别门禁系统是以人的生物特征为识别条件的门禁系统,主要包括对人脸识别.指纹识别.虹膜识别.掌纹识别.指静脉识别.声纹识别等.总体来说,生物识别门禁的发展呈螺旋上升趋势,目前在智慧安防.视频监控 ...

最新文章

  1. 什么是COM[网摘]
  2. ubuntu安装lrzsz报错“E: Unable to locate package”
  3. HTTP、TCP、UDP、Socket (转)
  4. UE4使用自定义字体
  5. linux 输出到文件 新,如何在Linux中将命令输出保存到文件
  6. 【Scala】使用Scala程序实现WordCount--词频统计(代码)
  7. Visual SourceSafe使用流程指南
  8. 【实用工具】windows/linux下时间统计函数
  9. java中虚拟机命令:jstack使用方法
  10. 编程大佬都推荐的Python编辑器
  11. ACS880变频器主从配置
  12. umijs 出错 TypeError: rawData.some is not a function
  13. ai训练 样本大小_成本低、周期短,小样本学习能否成为AI落地的速效药?
  14. 不做生活上的“富察皇后”,Soul星球遇见真实的灵魂
  15. 金仓数据库 KingbaseES 插件参考手册(23. dbms_utility)
  16. c语言程序小猪佩奇,使用canvas 代码画小猪佩奇(示例代码)
  17. 产品经理入门02:项目规划及产品设计
  18. LSTM 长短期记忆循环神经网络(学习笔记)
  19. 安卓程序开发需要学习哪些语言
  20. ubuntu安装dingding

热门文章

  1. 雷达的工作原理示意图_雷达的工作原理是什么?
  2. python报错warning: install_lib: 'build\lib' does not exist -- no Python modules to install
  3. 一日一技python安装_一日一技:快速实现Python 命令行参数
  4. MaxEnt运行错误
  5. python做飞机大战游戏_python实现飞机大战游戏
  6. 头脑王者_头脑令人困惑
  7. 面向对象之对象的多态性
  8. 蚁群优化(ACO)算法与变种
  9. python conda安装与使用教程
  10. 十大高人气“断货王”蓝牙耳机盘点,双11哪款蓝牙耳机值得入手?