OC 继承
2014-08-05 23:55
330 查看
继承
继承的上层:父类,继承的下层:子类
继承是单向的,不能相互继承
继承具有传递性:A继承于B,B继承与C,A具有B和C的特征和行为
子类能够继承父类全部的特征和行为
继承:当多个类出现部分相同的实例变量和方法时,就要考虑继承
继承的作用:将多个类中相同的实例变量的方法提出来写成一个公共的父类
面向对象提供了的继承语法,能够大大简化代码,把公共的方法和实例变量写在父类里,子类只需要写自己独有的实例变量和方法即可
继承既能保证类的完整,又能简化代码,让类与类之间的关系更加紧密。
子类继承父类:会将父类中除了声明为@private的实例变量以及私有方法之外,其余内容都会被继承.所以如果子类中有和父类同样的内容,可以全部删除(此段话错误,自己理解,意会)
私有方法:
私有方法就是在.m中实现,但是没有在.h文件中声明的方法,私有方法不允许在外部访问,但是可以在本类中的访问
继承:继承时的方法会存在三种情况:
1.保留父类对该方法的实现,(实现方式,不重写方法)
2.按子类重写之后的方式来实现.(实现方式,重写该方法,写自己的实现体,完成忽视父类的实现)
3.对于该方法既有父类对该方法的实现,也有子类对该方法的实现
继承特点
OC中只允许单继承
没有⽗父类的类称为根类,OC中的根类是NSObject(祖宗)。
继承的内容:所有实例变量和⽅方法。
如果⼦子类不满意父类方法的实现,可以重写父类的方法
super 是编译器指令,并非对象。
作用:给super发消息,可以执行父类中实现的方法。
当子类重写父类方法时,通过super执行父类的实现,又拥有自己的实现,相当于对父类已经定义的方法做扩展。
子类可以重写父类的方法,即子类既有自己的实现,又有父类继承下来的实现,如果想使用父类的实现,向super发送消息。
[self eat] ;使用self 来调用自己的方法;
[super eat] ;用来调用父类方法的实现;
初始化方法
创建对象分两步:开辟空间,初始化。
初始化方法的主要作用是:为某些实例变量赋初值。
初始化方法在对象的整个生命周期里只使用一次。
初始化方法的特征
初始化方法是”-“方法
id或者instancetype类型的返回值
以init开头
可以带0到多个参数
内部实现:先执行super的初始化方法,在初始化自身变量,return self。
便利构造器
便利构造器在初始化的方法芙蓉基础上前进了一小步,封装了对象创建过程。
便利构造器是”+“方法,返回本类型的实例,方法名以类名开头。
可以有0到多个参数。
内部实现:封装了alloc和初始化方法。使用起来更加简洁。
实现:
1. 声明和实现便利构造器。
2. 使⽤用便利构造器创建对象。
实例:
继承的上层:父类,继承的下层:子类
继承是单向的,不能相互继承
继承具有传递性:A继承于B,B继承与C,A具有B和C的特征和行为
子类能够继承父类全部的特征和行为
继承:当多个类出现部分相同的实例变量和方法时,就要考虑继承
继承的作用:将多个类中相同的实例变量的方法提出来写成一个公共的父类
面向对象提供了的继承语法,能够大大简化代码,把公共的方法和实例变量写在父类里,子类只需要写自己独有的实例变量和方法即可
继承既能保证类的完整,又能简化代码,让类与类之间的关系更加紧密。
子类继承父类:会将父类中除了声明为@private的实例变量以及私有方法之外,其余内容都会被继承.所以如果子类中有和父类同样的内容,可以全部删除(此段话错误,自己理解,意会)
私有方法:
私有方法就是在.m中实现,但是没有在.h文件中声明的方法,私有方法不允许在外部访问,但是可以在本类中的访问
继承:继承时的方法会存在三种情况:
1.保留父类对该方法的实现,(实现方式,不重写方法)
2.按子类重写之后的方式来实现.(实现方式,重写该方法,写自己的实现体,完成忽视父类的实现)
3.对于该方法既有父类对该方法的实现,也有子类对该方法的实现
继承特点
OC中只允许单继承
没有⽗父类的类称为根类,OC中的根类是NSObject(祖宗)。
继承的内容:所有实例变量和⽅方法。
如果⼦子类不满意父类方法的实现,可以重写父类的方法
super 是编译器指令,并非对象。
作用:给super发消息,可以执行父类中实现的方法。
当子类重写父类方法时,通过super执行父类的实现,又拥有自己的实现,相当于对父类已经定义的方法做扩展。
子类可以重写父类的方法,即子类既有自己的实现,又有父类继承下来的实现,如果想使用父类的实现,向super发送消息。
[self eat] ;使用self 来调用自己的方法;
[super eat] ;用来调用父类方法的实现;
初始化方法
创建对象分两步:开辟空间,初始化。
初始化方法的主要作用是:为某些实例变量赋初值。
初始化方法在对象的整个生命周期里只使用一次。
初始化方法的特征
初始化方法是”-“方法
id或者instancetype类型的返回值
以init开头
可以带0到多个参数
内部实现:先执行super的初始化方法,在初始化自身变量,return self。
便利构造器
便利构造器在初始化的方法芙蓉基础上前进了一小步,封装了对象创建过程。
便利构造器是”+“方法,返回本类型的实例,方法名以类名开头。
可以有0到多个参数。
内部实现:封装了alloc和初始化方法。使用起来更加简洁。
实现:
1. 声明和实现便利构造器。
2. 使⽤用便利构造器创建对象。
实例:
<span style="font-size:18px;">//便利构造器 //作用:快速创建对象,内部封装了创建对象的过程 //格式:1. +号方法 2. 返回值类型为id类型 3. 以类名 + With开头,拼接上多个参数 .h + (id)studentWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age number:(NSInteger)number score:(CGFloat)score; .m + (id)studentWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age number:(NSInteger)number score:(CGFloat)score { return [[Student alloc] initWithName:name gender:gender age:age number:name score:score]; } main.m Student *Summer1 = [Student studentWithName:@"夏天" gender:@"男" age:15 number:10012 score:52];</span>
相关文章推荐
- OC视频笔记2.3(OC继承的使用)2.4(self与super)2.5(方法的重写)
- OC面向对象的三大特征——封装、继承、多态
- OC语言--复合与继承
- 2015-10-12 OC语言中的多态 以及面向对象方法和继承的相关问题总结
- 漫步IOS--OC的面向对象的封装和继承
- OC中protocol、category和继承的关系
- OC 继承
- 黑马程序员-OC-继承
- OC面向对象—继承
- OC语言6—继承
- OC 继承子类对象调用方法机制 子类对象访问父类中的实例变量
- OC方法和继承
- OC-012.OC中的继承的多态特性
- OC封装 继承 多态
- iOS开发之OC继承、初始化方法、便利构造器
- OC第三讲继承-模拟打僵尸
- 【OC语言】第四篇·类的继承、多态、类对象以及SEL类型
- OC语言学习——继承和多态的一些随笔记
- OC基础 便利构造器 继承,
- OC面向对象继承关系和组合关系笔记