ios类别和继承的区别
2016-02-17 21:21
477 查看
在ios中,给类添加方法有两种方式:继承和类别。
1. 继承
继承时面向对象的三大特性之一,子类会继承父类的所有方法和属性。
2 类别
类别(其实我更喜欢翻译为分类)是oc的特性,可以在不改变原类及继承父类的前提下,实现对类方法的扩展。
既然继承和类别都可以扩展类方法,那类别存在的理由是什么呢?
1. 不改变原类的条件下,想类添加方法,这点继承做不到。
2. 可以把相关的方法分组到多个单独的文件中,便于管理(“分类”)。
这样是很方便的,所以可以很多项目都可以看大分类的使用。
当然,分类也有他的局限:如果扩展方法名和原类名相同,则会覆盖掉原类的方法,这是要注意的,还一个是分类无法扩展类的属性。
1. 继承
继承时面向对象的三大特性之一,子类会继承父类的所有方法和属性。
2 类别
类别(其实我更喜欢翻译为分类)是oc的特性,可以在不改变原类及继承父类的前提下,实现对类方法的扩展。
既然继承和类别都可以扩展类方法,那类别存在的理由是什么呢?
1. 不改变原类的条件下,想类添加方法,这点继承做不到。
2. 可以把相关的方法分组到多个单独的文件中,便于管理(“分类”)。
这样是很方便的,所以可以很多项目都可以看大分类的使用。
当然,分类也有他的局限:如果扩展方法名和原类名相同,则会覆盖掉原类的方法,这是要注意的,还一个是分类无法扩展类的属性。
相关文章推荐
- iOS 得到圆形头像的方法
- ios-第六天笔记
- IOS-第七天笔记
- iOS: 枚举类型 enum,NS_ENUM,NS_OPTIONS
- iOS开发绘制三角形和添加文字改变文字大小颜色
- iOS指定页面屏幕旋转,手动旋转
- iOS 打包提示 Command/usr/bin/codesign failed with exit code 1 并且钥匙串中证书全部无效的解决方案
- iOS环信3.0集成 (一)SDK的集成
- iOS中的设计模式
- iOS远程推送
- IOS的几种动画及其简单应用
- iOS Size Class学习备忘
- iOS开发中的gcd多线程tips
- iOS支付(转)
- iOS 开发实践之Auto Layout(From Vincent Sit)
- IOS 剪切板中的提示为英文改为中文 解决方法
- Missing iOS Distribution signing identity for
- 轻量级iOS安全框架:SSKeyChain
- 9. iOS 开发中添加自定义汉语字体
- 【iOS开发】结构体如何存入数组中