Objective-C 继承与类
2024-09-01 07:09:29
创建: 2018/01/20
完成: 2018/01/21
更新: 2018/01/22 标题前增加 [Objective-C]
继承的概念 | |||||||||||||||||
父类与子类 |
●继承: 继承其他类 ●父类: 被继承的类 子类: 继承的类 ●子类: 可以增加方法与变量,改写已有父类方法 |
||||||||||||||||
继承关系 (Class hierarchy) |
不断继承,树结构一样 最顶端是根类 Cocoa环境下的根类是NSObject, 所有类都要继承它!(直接或间接) |
||||||||||||||||
使用继承的类定义 | |||||||||||||||||
继承关系的声明 |
|
||||||||||||||||
类声明与头文件 | 继承时,头文件必须包含被继承类的头文件 | ||||||||||||||||
继承与方法的呼出 |
当呼出函数(发送信息)时 ●先找当前类定义里有没有 ●再找父类里面有没有定义,没有就再往上找 |
||||||||||||||||
呼出重载前的父类的方法 |
[super 方法名]; |
||||||||||||||||
构造函数 |
|
||||||||||||||||
继承的例子 | |||||||||||||||||
# TODO: Supply [补充例子, 46~49] | |||||||||||||||||
继承与呼出方法 | |||||||||||||||||
self | 自己 | ||||||||||||||||
super |
继承的父类(最靠近的一个) 用super来呼出方法是呼出父类的方法 |
||||||||||||||||
# TODO: Supply [补充例子, 51~52] | |||||||||||||||||
定义方法时的注意 | |||||||||||||||||
内部方法 |
●不在@interface里声明,直接在@implementation里定义 ●外部看不懂相关信息,但是仍旧可以呼出该函数 ●被继承时候主要不要不小心重载了(建议在开头附上前缀) @interface Sample : NSObject { |
||||||||||||||||
指定初始化函数 (Designated initializer) |
●可以单独(包含读取父类的指定初始化函数)完成初始化,不需要呼出本类内其他构造函数的函数 ●NSObject的指定初始化函数式init ●子类创设初始化函数时, 要呼出父类的指定构造函数(也就是主构造函数) |
||||||||||||||||
最新文章
- 记录一下emacs在window下的配置过程
- 关于L'Hopital法则
- AngularJs 时间格式化处理
- PAT A 1013. Battle Over Cities (25)【并查集】
- topcoder SRM 622 DIV2 BoxesDiv2
- 2014 网选 5024 Wang Xifeng's Little Plot
- iOS 进阶 第十七天(0420)
- ACE 1.1.9 发布,开源云端代码编辑器
- 面试问到struts1与struts2的解析对比
- 020自动化测试 PK 手动测试
- HDU 5492(DP) Find a path
- 如何使用Reaver破解Wi-Fi网络的WPA密码
- html+css基础篇
- (转)Windows下tail命令工具(转)
- 8000个JQuery特效(插件)
- luogu P1744 采购特价商品
- DWM1000 收发RXLED TXLED控制代码修改
- 【Jquery+Express.js】 submit() 方法提交form
- 【Java】 剑指offer(8) 用两个栈实现队列
- warning: LF will be replaced by CRLF in 解决办法