iOS学习笔记-Objective-C-继承和实例化、对象初始化
来源:互联网 发布:qq mac版 编辑:程序博客网 时间:2024/05/21 17:40
继承
@interface childClass : superClass{}
- OC中,一个类可以继承另一个类
- 被继承的类成为父类(super class)或超类,继承的成为子类(subclass)
- 子类可以直接使用父类的部分特征和行为(继承),继承具有传递性(若A是B的子类,B是A的子类,那么A也具有C的特征和行为)
- 子类可以重写父类的方法,重写是不需要声明
实例化
//实例化Studentl类的实例对象 Student *student = [[Student alloc] init];
方法的调用
//调用实例方法 [student sayHi];
- (+)类方法:必须用类(名)来调用
- (-)实例方法:必须用对象来调用
初始化
通常以init开头,一个类可以包含多个初始化方法
self、super
- super:将消息发送给父类对象:
- self:将消息发送给本对象
- self始终代表接受消息的对象
指定初始化方法
//指定初始化方法 通常情况下能够赋初始值最多的方法- (id)initWithName:(NSString *)_name Age:(NSInteger)_age Gender:(NSString *)_gender Number:(NSInteger)_number Score:(CGFloat)_score{ //self 指的就是将消息发送给本对象 //super 指的就是将消息发送给父类对象 //[super init]就是将消息init发送给学生类的父类进行执行 self = [super init]; if (self != nil) { name = _name; age = _age; gender = _gender; number = _number; score = _score; } return self;}
- 一个类有且只有一个指定初始化方法
- 在众多初始化方法中,无论调用哪个初始化方法,指定初始化方法都会执行
- 指定初始化方法会跟父类初始化方法有一定联系。
自定义初始化方法
- (id)initWithName:(NSString *)_name{ return [self initWithName:_name Age:0 Gender:nil Number:0 Score:0.0f];}
- 为对象赋予指定初始值
- 通常以init开头
便利构造器
+ (id)studentWithName:(NSString *)_name{ //先实例化一个对象 Student *student =[[Student alloc] initWithName:_name]; return [student autorelease];}
//通过便利构造器创建实例对象 Student *autoStudent = [Student studenrWithName:@"XiaoA"]; [autoStudent sayHi];
- 便利构造器是一种快速创建对象的方式。本质上是把初始化方法做一次封装,方便外接使用。
- 便利构造器是一个类方法。
- 通常以类名开头
0 0
- iOS学习笔记-Objective-C-继承和实例化、对象初始化
- Objective-C 学习笔记 04 - 继承和对象的实例
- iOS学习笔记-Objective-C-类和对象
- iOS学习(六)Objective-C 对象的初始化
- Objective-C学习笔记第十章对象初始化
- 学习笔记(objective-c)-继承
- 第二章、Objective-c 语法,继承,protocol和delegate(iOS学习笔记,从零开始)
- ios学习笔记(二)之Objective-C类、继承、类别和协议 - superlucky
- Objective-C学习笔记和IOS入门
- 【iOS开发之Objective-C】初始化对象
- Objective-C学习笔记(3)----浅谈 Objective-C 下对象的初始化
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十章 对象初始化
- 【IOS 开发学习总结-OC-15】objective-c面向对象之——对象初始化
- Objective-C学习笔记(十五)——实例化对象
- iOS学习(十四)Objective-C 继承
- objective-c对象初始化
- Objective-C对象初始化
- Objective-C面向对象-Objective-C 对象,实例和方法
- github
- [iOS] dom解析xml数据,拿到<>里面的值
- bootstrap 学习(1)
- 利用pipe实现兄弟进程之间的通信
- POJ 1995 Raising Modulo Numbers【快速幂】
- iOS学习笔记-Objective-C-继承和实例化、对象初始化
- POJ3273--Monthly Expense
- java反射机制功能之---检查类的结构
- acm p1753 小明 A+B
- Java- 构造方法的执行顺序
- HN OJ 13375 Flowery Trails (spfa的路径遍历)
- c的rand()函数,相同的种子,windows和android下产生的随机数列不一样
- 华为OJ(计算字符串的距离)
- Mysql net start mysql启动,提示发生系统错误 5 拒绝访问 解决之道