[ios开发]继承学习笔记

1.基本概念

继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。

2.特点

通过“父类”语法来实现,实现继承的类被称为子类,被继承的类被称为父类,也称其为基类、超类。父类和子类的关系是一种“一般和特殊”的关系。例如,水果和苹果的关系,苹果继承了水果,苹果是水果的子类,苹果是一种特殊的水果。
子类可继承父类的全部成员变量、全部方法(包括初始化方法)。

3.在学习中笔记的记录

1. 如果要让成员变量可以被继承,需要手动生成(对应的就是@property方法声明后不需要写生成,但是涉及到继承就需要手动继承)

2. 子类可以有一些独有的方法(就并不是只能进行继承)

3. 当子类与父类有同名(相同返回值、方法名、参数列表)的方法时,优先执行子类中同名的方法,将这个过程称之为重写,建立在第二点基础上。

4. 重写方法执行的原理:首先在本类中寻找这个方法,找到了就执行,没有找到再去直接父类中查找,找到了就执行,没有找到再去上一级父类中寻找,直到找到NSObject类为止,找到了就执行,没有找到就说明没有这个方法。

5. 重写的目的是为了在与父类同名方法中完成一些属于自己的功能。

6. super关键字 如果需要在子类方法中调用父类被覆盖的方法,则可以使用super关键字来调用父类被覆盖的方法。

7. super:通俗易懂来讲 代表的是父类对象指针或者是父类类名 ,在子类中调用父类中方法时候进行使用。
举个例子,什么是子类中调用父类

//在.m文件中进行方法实现是,如果父类为NSLog(@"456");,然后子类使用super类进行引用
-(void)run{
    
    
       [super run];//并不会直接进行使用,还需要在main函数再调用这个方法。
       NSLog(@"123")}
//输出结果为456 123

猜你喜欢

转载自blog.csdn.net/m0_46110288/article/details/106989911
今日推荐