[TwistedFate]继承 初始化方法 便利构造器
来源:互联网 发布:2017招聘软件排行 编辑:程序博客网 时间:2024/05/22 03:43
1.继承的特性:
- 继承是单向的
- 继承是可传递的
- 不能相互继承
- 继承:就是子类继承父类的方法和实例变量
- 继承的好处:减少代码量 提高工作效率
2.继承中方法的调用
- 使用self调用方法的时候:
优先调用本类中的方法 没有继续查找上一级,找到就调用,没有继续查找,都没有程序崩溃
- 使用super调用方法的时候:
直接跳过本类去查找上一级的父类,找到就调用 没有就继续查找 都没有程序崩溃,super没有特殊的意义 就是一个 编译指令
3.继承中自定义初始化方法的使用
赋值 实例变量的时候 需要先判断一下继承是否成功
也就是调用父类的初始化方法
// 方法声明- (instancetype)initWithName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age number:(NSInteger)number;
// 方法实现- (instancetype)initWithName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age number:(NSInteger)number{ // 继承中 的自定义初始化方法 // 赋值 实例变量的时候 需要先判断一下继承是否成功 // 也就是 调用父类的初始化方法 self = [super initWithName:name sex:sex age:age]; if (self) { // 如果继承成功的话 就继续初始化 子类中特有的实例变量 _number = number; } // 继承失败 直接返回就行 空 return self;}
4.便利构造器:
便利构造器在初始化⽅法的基础上前进了⼀⼩步。封装了对象创建过程。便利构造器是“+”⽅法,返回 本类型 的实例,⽅法名以类名开头。可以有0到多个参数。
// 方法声明+ (instancetype)studentWithName:(NSString *)name sex:(NSString *)sex number:(NSInteger)number;
// 方法实现+ (instancetype)studentWithName:(NSString *)name sex:(NSString *)sex number:(NSInteger)number{ Stundet *stu = [[Studeng alloc] initWithName:name sex:sex number:number]; return stu;}
0 0
- [TwistedFate]继承 初始化方法 便利构造器
- 【继承】指定初始化方法【便利构造器】
- 03 继承 初始化方法 便利构造器
- 继承 初始化方法 便利构造器
- OCday3 初始化方法, 便利构造器, 继承
- OC_继承,便利构造器,初始化方法
- OC_继承,便利构造器,初始化方法
- OC_继承,便利构造器,初始化方法
- OC_继承,便利构造器,初始化方法
- OC_继承,便利构造器,初始化方法
- day3: 继承、初始化方法、便利构造器
- 继承 初始化方法 便利构造器
- 继承、初始化方法、便利构造器
- OC之继承,初始化方法,便利构造器
- OC_03_初始化方法_便利构造器_继承
- OC基础:继承.初始化方法,便利构造器
- OC-继承-初始化方法-便利构造器(练习题-打僵尸)
- OC学习-继承,便利构造器,初始化方法
- Unity3d之截图方法
- java IO流总结
- java1.8--OptionalInt,OptionalDouble,OptionalLong类
- 小解 ISCSI
- 拷贝VMware造成mac地址冲突的问题
- [TwistedFate]继承 初始化方法 便利构造器
- windows程序托盘图标以及消息提示--基本知识(Shell_NotifyIcon)
- DrawerLayout
- Declaring an explicit serialVersionUID
- 分享一个链接 Matlab
- hdu1695 莫比乌斯反演
- linux下alias命令详解
- global.asax详解
- VMware tools怎么安装?VMware tools安装方法分享