漫步IOS--OC的面向对象的封装和继承
2015-01-10 19:42
169 查看
OC是一门面向对象的语言,所以和Java一样,面向对象所具有的三大特性他也是必定具备的,多态暂且不提,先解释一下封装和继承。
1 封装
个人理解,所谓的封装性,见名知意,即保护自身的方法和属性不被不该的人看见和使用。也可以理解为控制对于我们的类的操作权限。
实现思路:
实现思路就是配合访问权限标记将不想让外人看见的部分(变量和方法)进行隐藏,然后在合适的地方提供一个我们写好的方法对其进行访问。
实现方法:
将想隐藏的变量声明为protected或者private类型。这样就只能自己或者子类看见了。然后提供公有的方法限制对自己变量的操作。
将想隐藏的方法声明和定义都写在.m文件里,这样别人引入.h文件的时候就看不到我们写到的方法了,自然对于调用也就无从下手了。
2 继承
个人理解,所谓继承性,亦是见名知意,即从另一处接收一部分可用资源作为自己的资源。这个资源可以是变量,可以是方法。
接收者是子类,被接收者是父类。OC里面也是‘单继承多实现’。
实现思路:在OC中指定父类很简单,只需在类定义文件后面加一句就行
和Java一样,子类通过super调用父类方法和参数。也可通过self代指自身。
所谓的完整初始化方法:就是在初始化的时候调用父类的初始化方法,然后再对自身的属性进行初始化赋值。
继承搜索:
调用一个方法,首先去子类搜索,如果出现了解决的方法(即 子类重写了父类的方法)那么调用子类的方法。如果没有,那么去父类中寻找对应的方法,再执行。如果一直找到最后都没有对应的解决方法,那么,报错。
如果在头文件里定义了,但是在.m文件里没有实现,就说没有处理这个方法,那么在编译的时候并不会报错,这是因为IOS的消息发送机制,消息发送过去并没有规定必须可以执行。但是在执行的时候发现没有可以处理的方法,那么就会报错,也就是运行时会崩溃。所以在处理的时候就要加大量判断。
1 封装
个人理解,所谓的封装性,见名知意,即保护自身的方法和属性不被不该的人看见和使用。也可以理解为控制对于我们的类的操作权限。
实现思路:
实现思路就是配合访问权限标记将不想让外人看见的部分(变量和方法)进行隐藏,然后在合适的地方提供一个我们写好的方法对其进行访问。
实现方法:
将想隐藏的变量声明为protected或者private类型。这样就只能自己或者子类看见了。然后提供公有的方法限制对自己变量的操作。
将想隐藏的方法声明和定义都写在.m文件里,这样别人引入.h文件的时候就看不到我们写到的方法了,自然对于调用也就无从下手了。
2 继承
个人理解,所谓继承性,亦是见名知意,即从另一处接收一部分可用资源作为自己的资源。这个资源可以是变量,可以是方法。
接收者是子类,被接收者是父类。OC里面也是‘单继承多实现’。
实现思路:在OC中指定父类很简单,只需在类定义文件后面加一句就行
@interface Class11 : NSObject
和Java一样,子类通过super调用父类方法和参数。也可通过self代指自身。
所谓的完整初始化方法:就是在初始化的时候调用父类的初始化方法,然后再对自身的属性进行初始化赋值。
继承搜索:
调用一个方法,首先去子类搜索,如果出现了解决的方法(即 子类重写了父类的方法)那么调用子类的方法。如果没有,那么去父类中寻找对应的方法,再执行。如果一直找到最后都没有对应的解决方法,那么,报错。
如果在头文件里定义了,但是在.m文件里没有实现,就说没有处理这个方法,那么在编译的时候并不会报错,这是因为IOS的消息发送机制,消息发送过去并没有规定必须可以执行。但是在执行的时候发现没有可以处理的方法,那么就会报错,也就是运行时会崩溃。所以在处理的时候就要加大量判断。
相关文章推荐
- 黑马程序员_iOS开发之OC之面向对象之三大特性封装、继承和多态
- OC基础——面向对象(封装、继承、多态)
- OC面向对象的三大特征——封装、继承、多态
- 黑马程序员——OC笔记之面向对象三大特征(封装、继承、多态)
- IOS之OC面向对象—封装
- 【IOS 开发学习总结-OC-11】★objective-c面向对象之——封装和访问控制符
- 黑马程序员——OC面向对象三大特性——封装,继承,多态。
- OC面向对象的三大特征(封装 继承 多态)习题2 复合
- IOS学习之OC面向对象—封装
- ios开发-OC-封装、继承、多态
- OC面向对象的三大特性:封装,继承,多态
- 黑马程序员---OC面向对象三大特性(封装、继承、多态)
- OC面向对象的三大特征(封装 继承 多态)习题1
- 黑马程序员-OC之面向对象的三大特性:封装、继承和多态
- OC面向对象的三大特征(封装 继承 多态)习题3 多态
- 黑马程序员——OC面向对象三大特性——封装,继承,多态。
- 13、OC 面向对象3大特征:封装、继承、多态
- ios开发-OC面向对象的三个特性-封装方法
- OC面向对象的三大特征 封装 ,继承,多态
- 【IOS 开发学习总结-OC-16】★★objective-c面向对象之——类的继承