iOS学习笔记-Objective-C-继承和实例化、对象初始化
2015-08-22 21:14
736 查看
继承
@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];
便利构造器是一种快速创建对象的方式。本质上是把初始化方法做一次封装,方便外接使用。
便利构造器是一个类方法。
通常以类名开头
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 交换机升级排障实例
- sql2008启动代理未将对象应用到实例解决方案
- 初识JQuery 实例一(first)
- 一个小助手批处理实例代码
- XStream使用方法总结附实例代码
- asp.net得到本机数据库实例的两种方法代码
- C++多继承同名隐藏实例详细介绍
- PHP入门学习的几个不错的实例代码
- JSP发送邮件实例
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- C#中的IEnumerable简介及简单实现实例
- .net平台推送ios消息的实现方法