Objective-C( 继承,初始化方法)

一.继承

1.继承的上层:父类,继承的下层:子类

2.继承是单向的

3.继承具有传递性:子类继承父类的特征和行为

4.子类扩展父类,更加具体

oc中的继承

1.oc中的继承,即一个类继承另一个类;

2.被继承的类称为父类或超类;

3.继承的类为子类

继承的特点

1.oc中只允许单继承

2.没有父类的类称为根类、oc中的根类是  NSObject

3.继承的内容:除了私有变量外的所有实例变量和方法

4.子类可以重写父类的方法

super

1.oc中的关键字

2.作用:给super发送消息,可执行父类中实现的方法

二.初始化方法

-(id)init

{

//给super发送init消息;即执行父类中实现的init方法

self = [super init];

if(self){

//初始化设置

}

//返回初始化完成对象

return self;

}

初始化过程

1.执行父类中实现的方法,(向上递归到NSObject类中的初始化方法);

2.从根类NSObject开始执行初始化方法;

3.判断父类中的初始化是否成功,即self是否存在

4.完成对象的初始化设置,返回对象

三.便立构造器

1.声明和实现便利构造器

+(id)personWithName:(NSString *)name

{

Person *p =[ [Person alloc]initWithName:name];

return p;

}

2.使用便利构造器创建对象

Person *p =[ Person personWithName:@"niaho"];

时间: 2024-09-30 18:36:04

Objective-C( 继承,初始化方法)的相关文章

OC基础:继承.初始化方法,便利构造器

继承: 1.单向继承,一个类只能有一个父类,一个父类可以有多个子类. 2.单向继承,基类(根类)是OSObject 3.子类可以继承父类的属性和方法 当父类的方法不满足子类的需求时,子类可以重写父类的方法,重写父类的方法,在子类中不需要再次声明. 1.完全重写 2.部分重写   使用super 建立继承关系之后,子类可以继承父类的: 1.实例变量,@[email protected]修饰情况之下 2.公开的方法 一个方法如果在.h中声明了,那么这个方法就是公开的方法,如果没有声明,则是私有的.

Objective-C初始化方法

1.初始化方法: #import <Foundation/Foundation.h> @interface Person : NSObject{ NSString *_name; NSInteger _age; } //自定义初始化方法,必须以init开头 - (id)initWithName:(NSString *)name withAge:(NSInteger)age; //打印信息 - (void)showInfo; @end 这里我们定义了一个初始化方法,对名称和年龄进行初始化赋值操作

Objective-C 继承、初始化方法、便利构造器

继承.初始化方法.便利构造器 今天我们要学习继承 初始化方法 以及遍历构造器 首先我们要理解一些概念性的东西. 继承: 在OC里,继承是单继承的,所谓的单继承就是一个子类继承一个父类,例如我们之前创建的Person类是继承于NSObject的.回顾一下继承的格式 @interface Person : NSObject //在冒号后面是继承的父类. 人继承与NSObject 子类是只能继承一个父类,但父类却可以有多个子类.例如: @interface Student : Person // 学生

继承,初始化

继承 初始化方法 继承继承的上层: 父类 ,继承的下层:子类继承是单向的,不能相互继承.继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为子类能继承父类全部的特征和行为.面向对象提供了的继承语法,能够大大简化代码,把公共的方法和实例变量写在父类里,子类只需要写自己独有的实例变量和方法即可继承既能保证类的完整,又能简化代码,让类与类之间的关系更加紧密. 继承特点OC中只允许单继承没有父类的类称为根类,OC中的根类是NSObject(祖宗). 继承的内容:所有实例变量和方法.如果子类不

初始化方法自动继承

子类默认不会继承父类的初始化方法,然而,如果某种条件满足的话,父类的初始化方法还是可以继承给子类.在通常情况下,这意味着你不必复写父类的初始化方法,在安全的前提下可以以最低的代价继承父类的初始化方法. 假设子类新增的stored properties 都提供了默认值,那么提供了以下两条规则: 规则1: 如果你的子类没有定义任何的指定初始化方法(新增便利初始化方法可有可无),那么子类会自动继承父类的所有指定初始化方法. 规则2: 如果子类通过规则1,或者通过自定义实现父类的所有指定初始化方法,那么

继承、初始化?方法、便利构造器

继承特点 OC中只允许单继承. 没有?父类的类称为根类,OC中的根类是NSObject(祖宗). 继承的内容:所有实例变量和?方法. 如果?子类不满意?父类?方法的实现,可以重写(overwrite)?父 类的?方法. 继承具有传递性 完成初始化方法 - (void)init { //给super发送init消息:即执行父类中实现的init方法 self = [super init]; if (self) { //初始化设置 } //返回初始化完成的对象 return self; } 上面称作

第三讲.继承,完整初始化方法,遍历构造器,多态(代码) 另附植物大战僵尸练习

//初始化和遍历构造器使用 //person.h文件 1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObject 4 5 { 6 7 NSString *_name; 8 int _age; 9 NSString *_sex; 10 11 12 } 13 14 +(id)PersonWithName:(NSString*)name age:(int)age; 15 -(id)initWithName:(NSStrin

Objective-C学习笔记_继承、初始化方法、便利构造器

一.继承 继承的上层:父类,继承的下层:子类.继承是单向的,不能相互继承.继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和?为.子类能继承父类全部的特征和行为. 例题 打僵尸.需求: 1.定义普通僵尸类: 实例变量:僵尸总血量.僵尸每次失血量. 方法:初始化方法(总血量).被打击失血.死亡. 2.定义路障僵尸类: 实例变量:僵尸总血量.僵尸每次失血量,道具,弱点. 方法:初始化方法(总血量).被打击失血.失去装备.死亡. 3.定义铁桶僵尸类: 实例变量:僵尸总血量.僵尸每次失血量,道

2015 IOS 学习笔记 面向对象 初始化方法 ——蓝懿教育

今天学习了面向对象以及初始化方法,这个在实际应用中比较重要,也比较抽象,所以要具体在实例中才能理解. ————————面向对象有三大特性—————— 一.封装 封装是对象和类概念的主要特性.它是隐藏内部实现,稳定外部接口,可以看作是“包装”.封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 好处:使用更简单变量更安全可以隐藏内部实现细节开发速度加快 OC中一个类可以继承另一个类,被继承的类成为超类(superclass),继承的