iOS开发之oc--继承

面向对象的三大特性

1)封装(set方法和get方法,掌握)

2)继承(掌握)

3)多态(理解概念即可)

 (一)继承(一种语法):是用在类与类之间,代表(两个)类之间的关系.

1.继承的使用场合

想要获取得某个类所有成员变量和方法,要实现什么,就通过继承.

 1> 当两个类拥有相同属性和方法的时候,就可以将相同的东西抽取到一个父类中

 2> 当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类

继承的好处

 1> 抽取重复代码,提高了代码复用率

 2> 建立了类之间的关系

 3> 子类可以拥有父类中的所有成员变量和方法

 继承的坏处

代码的耦合性强(就是类与类之间的联系)

>注意点:基本上所有类的根类是NSObject

2.

 继承要点

 1)当调用方法时,首先检测子类有没有实现这个方法,如果子类没有实现,就会调用父类的实现

 2)重写:子类实现父类中声明的方法

 3)子类里面声明的成员变量 和 父类里面声明的成员变量 不能同名 

 

代码示例:

/*

就近原则
 重写:子类重新实现父类的某个方法,会覆盖父类以前的做法
 NSProxy和NSObject
 isa
 所有继承至NSObject对象,都有isa指针(是声明在NSObject中),指向它对应的类
 */

/*
 1.重写:子类重新实现父类中的某个方法,覆盖父类以前的做法
 2.注意
 1> 父类必须声明在子类的前面
 2> 子类不能拥有和父类相同的成员变量
 3> 调用某个方法时,优先去当前类中找,如果找不到,去父类中找
 
 2.坏处:耦合性太强(即类之间的关系太强,你离不开我,我离不开你,把某个类删掉后,就不能用了)
 */

#import <Foundation/Foundation.h>

@interface Person : NSObject     //  冒号表示继承关系,后面跟的是父类

@end

 

(二)super

super的作用

 1)直接调用父类中的某个方法。

 2)super处在对象方法中,那么就会调用父类的对象方法。

      super处在类方法中,那么就会调用父类的类方法。

 3)使用场合:子类重写父类的方法时想保留父类的一些行为。

 

思想:对于一些相同的属性,一般抽取一个公共类。

  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。