理解Objective-C的变量以及面相对象的继承特性

2020-01-14 18:59:31刘景俊

(3)一个类继承了另一个类,那么就拥有了父类的所有成员变量和方法,注意所有的成员变量它都拥有,只是有的它不能直接访问。


OC面向对象—继承
一、基本概念

程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量)。

理解Objective-C的变量以及面相对象的继承特性

在这里动物是猫类和狗类的父类,黑猫和白猫类是猫类的子类。

继承的好处:

(1)抽取出了重复的代码

(2)建立了类和类之间的联系

继承的缺点:

耦合性太强

 

二、OC中的继承

复制代码
@interface Animal:NSObject

 

//动物里继承了NSObject,获得NSObject类的方法;

@end


 
复制代码
@interface Dog :Animal

 

//dog类继承Animal类

@end


注意:OC语言是单继承语言。在oc语言中,基本上所有类的根类都是NSObject类。

 

 

三、继承的使用注意

(1)编译器从上往下执行,所以在子类前面至少应该要有父类的声明;

(2)OC中不允许子类和父类拥有相同名称的成员变量名;

(3)OC中的子类可以拥有和父类相同名称的方法,在子类调用时,优先去自己的内部寻找,如果没有则一层一层的往上找;

提示:重写即子类重新实现了父类中的某个方法,覆盖了父类以前的实现。