06-06、面向对象的三大特性:继承的基本概念

Snip20170919_9.png
Snip20170919_10.png
Snip20170919_11.png
继承的好处

解决问题: 重复代码太多
可以利用继承来解决当前重复代码太多的问题
只要A类继承了B类, 那么A类就拥有了B类的所有属性和方法(对象方法和类方法)
例如:
@interface Iphone : NSObject
其实在类名的后面加上: NSObject, 就是让当前类继承NSObject类
new方法就是继承过来的类方法
isa指针是从NSObject中继承过来的成员变量
继承的语法 @interface 类名 : 需要继承的类

其他注意点:重写父类的属性和方法

注意: 1、在继承中方法可以重写, 但是属性(成员变量)不能重写,会编译错误报重复定义属性(因为继承属性是直接拷贝到子类的)
如果子类中有和父类中同名的方法, 那么我们称之为方法重写
注意: 2、继承中的方法调用顺序, 如果自己有就调用自己的, 如果自己没有就调用父类的
3、方法的调用顺序, 先自己再父类, 如果父类中没有再爷爷类, 如果爷爷类再没有就找爷爷的爸爸类
如果一直找到NSObject类都没有找到, 那么就会报错
reason: '-[Iphone signalWithNumber:]: unrecognized selector sent to instance 0x1003043c0'

总结
继承:
当B类继承A类, 那么B类就拥有A类所有的属性和方法(类方法/对象方法)
 
 优点:
 提高代码的复用性
 可以让类与类之间产生关系, 正是因为继承让类与类之间产生了关系所以才有了多态
 
 注意: 
 不要以为继承可以提高代码的复用性, 以后但凡发现多个类当中有重复代码就抽取一个父类
 只要满足一定的条件我们才能使用继承
 条件: XXXX 是 XXX   /    某某某 is a 某某某
缺点:
 耦合性太强(依赖性太强),子类太依赖父类
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 4,898评论 0 2
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,855评论 0 9
  • 写在之前 因为简书字数限制,完整版地址:https://www.zybuluo.com/hainingwyx/no...
    hainingwyx阅读 14,746评论 0 41
  • 昨天晚上没事去逛了逛以前同学的qq空间,看了他们空间的照片,才知道他们都结婚了,有孩子了,我还在傻里吧唧的读书,哈...
    周登超阅读 3,339评论 0 5
  • 小城中心广场边 一个拾荒者抬起埋进绿色垃圾桶好一阵的脑袋 突然唱起了 节奏不明歌词不详的歌 他那种谁都不在乎的劲头...
    詹惊蛰阅读 2,472评论 0 2