OC中的OOP之 --- 继承
来源:互联网 发布:朝阳区群众 知乎 编辑:程序博客网 时间:2024/05/29 15:42
“继承”一词对于软件工程师来说并不陌生,当然这里不是指法律上的继承,而是计算机中的继承。继承机制一来可以有效避免重复代码的出现,提高效率,二是模拟人类的继承逻辑符合人的常规逻辑思维,便于软件架构的组织。这里聊聊OC中的继承。
继承的语法格式
@interface 类名:继承的类名
上面就是继承的语法格式,冒号后面是需要继承的类。在OC中也可以选择不继承,但如果使用的是Cocoa框架,就需要继承NSObject类,因为它提供了大量有用的特性(当继承一个继承自NSObject类的类时,也可以获取这些特性)。
在C++中可以多继承,即一个类可以继承两个或多个类。但OC不支持多继承,只能单继承,即一个类只能继承自一个类或者不继承,不可继承自两个或两个以上的类。 但是可以通过OC的其他特性比如类别和协议等来达到多继承的效果。
注: 在继承中常用的两对术语是:超类/子类 和 父类/孩子类,超类和父类指的是继承的类,子类和孩子类是执行继承的类。只是表达方式不同。两对术语在交流中用哪一对也行,只是看习惯。
继承的工作机制
1).方法调度
当代码向对象发送要执行某个方法的消息时,OC的方法调度机制将在当前的类中搜索相应的方法。如果无法在接收消息的对象的类文件中找到相应的方法,它就会在该对象的超类中进行查找,直到查找到NSObject类(假如继承NSObject类的话,如果使用Cocoa框架,就要继承NSObject类的),如果在最顶层的NSObject类中也没有找到该方法,则会出现一个运行时错误,同时还会出现一个编译时警告信息。
2).实例变量
- OC中的OOP之 --- 继承
- OC中的OOP之 --- 基础语法
- oc中的oop
- PHP 之 OOP继承
- js oop之继承
- OC-011.OC中的继承
- OC语言中的继承
- OC中的继承
- oc中的继承
- OC学习笔记OOP之封装
- OC之继承
- OC之继承
- iOSDay11之OC继承
- oc学习之继承
- LUA中的OOP(2) --- 单继承
- LUA中的OOP(3) --- 多继承
- 【C#】C#OOP编程之继承性
- OOP---- 继承
- HashMap源码
- 并查集的运用
- lush的CSDN博客之旅开启了!
- JSON例子应用
- struts2接收参数的方法
- OC中的OOP之 --- 继承
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
- UI_糗事百科页面
- hdu 5564 Clarke and digits
- CentOS6.x设置memcached开启自启动
- 怎样找回不小心删除的微博私信记录技术
- pan.baidu
- Java泛型List clone
- C/C++编码规范