继承
来源:互联网 发布:mac下完搜狗输入法 编辑:程序博客网 时间:2024/06/05 10:14
什么是继承
继承是基于现有类,定义新类的代码复用技术。新类拥有原来类的除@private修饰的实例变量,拥有公开方法的声明。还可以添加自己的实例变量,和方法声明。
继承的特性
- OC是单继承的。
一个类,只能有一个直接父类。 - 继承是可以传递的。
A继承B,B继承C,那么A也会继承到C中的实例变量和方法。 - 子类可以重写父类的方法。
语法
@interface ClassName : NSObject
@end
注:
1. 继承用 : 表示。
2. ClassName称为子类
3. NSObject称为父类或超类
子类可以从父类得到什么
- 接口中声明的非@private实例变量。
- 接口中声明的方法。
- 父类遵守的协议,子类也会默认遵守。
关于方法的重写和重载
重写
子类定义的方法,名称和父类的相同,这叫做方法的重写。会覆盖掉父类的方法实现。
**方法可以重新,但实例变量不可以。
重载
Java中的重载是:同一个类中方法名称相同,参数个数或类型不同的方法是方法重载,在OC中,中缀符和参数个数匹配,但也是方法名的一部分,若参数个数不同,就是不同的方法名。所以没有真正的重载这一说法。
注意事项
- Objective-C是单继承的。
- 谁的实例变量由谁进行维护。
- 要使用方法访问父类的实例变量。
- 类的对象中有一个isa指针,指向的是它所属的类。
- 每一个方法调用都有一个self隐藏参数,它是指向了接受消息的对象的指针。
0 0
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 继承
- 聊天------蘑菇街2016研发工程师在线编程题
- 如何在阿里云上部署django网站(2)——使用MySQL数据库
- USB设备的基本概念
- 基于分块统计和机器学习的主题类网页内容识别算法实现和应用范例
- source insight的使用
- 继承
- java笔试简单题(一)
- Ubuntu下如何编译OpenBLAS
- 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活(多重背包dp)
- More is better
- LeakCanary,Android内存泄露处理利器
- mooc网站 常用的10个地址
- 2016 Multi-University Training Contest 4 题解
- leetcode 链表相关算法题