oc-分类(catgory)的概念及使用
------<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)的概念及使用相关推荐
- 【数据挖掘笔记八】分类:基本概念
8.分类:基本概念 分类是一种重要的数据分析形式,它提取刻画重要数据类的模型,这种模型称为分类器,预测分类的(离散的.无序的)类标号. 8.1 基本概念 分类和回归(数值预测)是预测问题的两种主要类型 ...
- 【机器学习】1-机器学习的分类及重要概念
本文与原文相同,未加Python代码. [机器学习]机器学习的分类及重要概念 文章目录 [机器学习]机器学习的分类及重要概念 引言(Introduction) 1.1 欢迎 1.2 机器学习是什么? ...
- 分类决策树考虑了经验风险吗_数据挖掘导论 第4章 分类:基本概念、决策树与模型评估...
第4章 分类:基本概念.决策树与模型评估 分类(classification):分类任务就是通过学习得到一个目标函数(target function)f,把每个属性集x映射到一个余弦定义的类标号y.目 ...
- 爬虫学习记录1:通讯协议、网络模型、爬虫分类及常见概念
通讯协议.网络模型.爬虫分类及常见概念 1.通讯协议 1.1端口 若把一个ip地址比作一栋房子,那么端口就是进入这座房子的门. 为了标识应用程序,所有出现了端口. 不同的端口代表不同的应用程序,通过数 ...
- 图论算法-图论的表示、分类及基本概念(系列1)
什么是图论 图论的应用: 2. 图论的表示 3. 图论的分类 4. 图的基本概念 邻接矩阵:
- [黑马IOS自学第十篇]OC语言基础,面向对象概念,类学习
一.类学习引入 //缺点 _result的结果一直在变化,得创建变量,在堆区一直申请空间 <span style="font-size:14px;">#import&l ...
- python数据分析及可视化(一)课程介绍以及统计学的应用、介绍、分类、基本概念及描述性统计
数据分析及可视化介绍 这门课涉及多个库,其中Numpy用于数值运算:Pandas用于数据处理:Matplotlib.Seaborn.Pyecharts用于数据可视化. 数据分析介绍 概念 用适当的统计 ...
- linux系统文件分类,Linux系统文件概念和文件类型
当使用Linux命令对文件进行操作时,就可访问存储在一个结构化环境中的信息.所有这些信息都存放在一个分层的结构中,可以方便且有条不紊地管理数据.重要的是,不仅应学会如何访问这些数据,而且应学会如何控制 ...
- [Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
一:字典的基本概念 Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样. 通过key(键) ...
- 生物特征识别门禁系统分类和基本概念
生物特征识别门禁系统是以人的生物特征为识别条件的门禁系统,主要包括对人脸识别.指纹识别.虹膜识别.掌纹识别.指静脉识别.声纹识别等.总体来说,生物识别门禁的发展呈螺旋上升趋势,目前在智慧安防.视频监控 ...
最新文章
- 什么是COM[网摘]
- ubuntu安装lrzsz报错“E: Unable to locate package”
- HTTP、TCP、UDP、Socket (转)
- UE4使用自定义字体
- linux 输出到文件 新,如何在Linux中将命令输出保存到文件
- 【Scala】使用Scala程序实现WordCount--词频统计(代码)
- Visual SourceSafe使用流程指南
- 【实用工具】windows/linux下时间统计函数
- java中虚拟机命令:jstack使用方法
- 编程大佬都推荐的Python编辑器
- ACS880变频器主从配置
- umijs 出错 TypeError: rawData.some is not a function
- ai训练 样本大小_成本低、周期短,小样本学习能否成为AI落地的速效药?
- 不做生活上的“富察皇后”,Soul星球遇见真实的灵魂
- 金仓数据库 KingbaseES 插件参考手册(23. dbms_utility)
- c语言程序小猪佩奇,使用canvas 代码画小猪佩奇(示例代码)
- 产品经理入门02:项目规划及产品设计
- LSTM 长短期记忆循环神经网络(学习笔记)
- 安卓程序开发需要学习哪些语言
- ubuntu安装dingding
热门文章
- 雷达的工作原理示意图_雷达的工作原理是什么?
- python报错warning: install_lib: 'build\lib' does not exist -- no Python modules to install
- 一日一技python安装_一日一技:快速实现Python 命令行参数
- MaxEnt运行错误
- python做飞机大战游戏_python实现飞机大战游戏
- 头脑王者_头脑令人困惑
- 面向对象之对象的多态性
- 蚁群优化(ACO)算法与变种
- python conda安装与使用教程
- 十大高人气“断货王”蓝牙耳机盘点,双11哪款蓝牙耳机值得入手?