OC学习笔记 自定义构造方法扩展
2015-04-24 01:55
351 查看
将子类父类方法初始化
父类定义
父类实现
子类定义
子类实现
main
打印输出:
总结
这样做好处就是 后期项目扩展 修改父类属性结构 子类不需要修改原有方法 便于扩展
init 方法 设计原则就是用来初始化成员变量。
父类定义
#import <Foundation/Foundation.h> @interface Person :NSObject @property NSString *name; @property int age; - (id)initWithAge :(NSString *)name andAge:(int) age; @end
父类实现
#import "Person.h" @implementation Person : NSObject - (id)initWithAge:(NSString *)name andAge:(int)age { if(self = [super init]) { _name = name; _age = age; } return self; } @end
子类定义
#import "Person.h" @interface Student :Person @property double no; - (id)initWithNo :(NSString *)name andAge :(int)age andNo :(double)no; @end
子类实现
#import "Student.h" @implementation Student : Person // 父类的属性交给父类方法去处理,子类属性交给子类方法去处理 - (id)initWithNo:(NSString *)name andAge:(int)age andNo:(double)no { if(self = [super initWithAge:name andAge:age]) // 将继承父类属性age name传递到父类去初始化 { _no = no; // 只关注并返回子类自己独有属性 自己搞自己东西 } return self; } @end
main
#import "Person.h" #import "Student.h" int main() { Person *p = [[Person alloc]initWithAge:@"大杰加油 上海我来了" andAge:28 ]; NSLog(@"%@%d",p.name,p.age); Student *stu = [[Student alloc]initWithNo:@"一刻都不敢听曲,一刻都不敢看声色犬马,一刻都不停止努力" andAge:28 andNo:2015.0424 ]; NSLog(@"%@%d%.4f",stu.name,stu.age,stu.no); return 0; }
打印输出:
2015-04-24 10:32:09.402 构造函数[716:33731] 大杰加油 上海我来了28 2015-04-24 10:32:09.405 构造函数[716:33731] 一刻都不敢听曲,一刻都不敢看声色犬马,一刻都不停止努力282015.0424 Program ended with exit code: 0
总结
这样做好处就是 后期项目扩展 修改父类属性结构 子类不需要修改原有方法 便于扩展
init 方法 设计原则就是用来初始化成员变量。
相关文章推荐
- OC学习笔记之OC类自定义构造方法
- 黑马程序员学习笔记14_OC之构造方法
- OC_构造方法,自定义构造方法,分类,类的深入研究,description,SEL数据类型笔记
- 黑马视频学习笔记-OC-id、构造方法
- 【黑马程序员】-我的OC学习笔记(3)-存取器方法和构造方法重写
- 学习笔记11-OC基本语法和构造方法
- OC基础语法学习4:自定义构造方法和description方法
- OC学习笔记04--id关键字与构造方法
- Java学习笔记之 File构造方法
- Objective-C基础学习笔记(六)-property作用-构造方法-OC成员变量的作用域
- OC中自定义构造方法
- Swift学习(二):自定义扩展方法(Extensions)
- LINQ学习笔记——(1)添加扩展方法
- 黑马程序员——OC学习小结------构造方法,分类,方法的重写,SEL
- OC视频笔记7(自定义初始化方法)8(类方法与实例方法的区别)(为什么NSString后面加*)
- 黑马程序员-OC学习笔记-点方法、成员变量作用域以及set方法和get方法@property的综合题
- Android(java)学习笔记107-0:通过反射获得构造方法并且使用
- Android(java)学习笔记107-1:通过反射获得带参构造方法并且使用
- Android(java)学习笔记108:通过反射获取私有构造方法并且使用
- j2se学习笔记-继承&构造方法