IOS基础入门OC语言Xcode Day11笔记:继承、super关键字

1、继承
(1)目的:子类想拥有父类中的所有成员,但是不想自己去定义,而是想凭空拥有
(2)语法:
@interface 类名 :父类名称
@end
(3)效果:子类一旦从父类继承,那么子类中拥有了父类中所有的成员,不用自己定义
(4)术语:
@interface Student :Person
a、Student类从Person类继承,Student类是Person类的子类,Person类是Student的父类
b、Student类从Person类派生,Student类是Person类的派生类,Person类是Student的基类
子类一旦从父类继承,就意味着子类拥有了父类的所有成员,而不用自己去定义

2、特性
(1)单根性:一个类只能有一个父类,不能有多个父类
(2)传递性:A类从B类继承,B类从C类继承,那么A类就同时拥有B、C类的成员

3、NSObject类
(1)是Foundation框架中的类,在这个类中有一个类方法new,这个方法是用来创建对象的,方法的返回值是创建这个对象的指针,也就是说,如果要创建类的对象,就必须要调用这个new方法。
(2)如果我们想要让我们的类具备创建对象的能力,就必须要让我们的类直接或者间接的从NSObject类继承。
(3)在NSObject类之中,还定义了一个属性,这个属性叫做isa指针,所以,每个子类对象中都有一个叫做isa的指针。
(4)NSObject类是OC中所有类的祖宗类,因为OC中的类全部都是直接或者间接的从它继承。

4、super关键字
(1)可以用在类方法和对象方法之中
(2)在对象方法中可以使用super关键字调节当前对象从父类继承过来的对象方法
(3)在类方法中,super关键字可以调用当前从父类继承过来的类方法
a、类方法也能被子类继承,父类中的类方法可以使用父类名称来调用,也可以使用子类名调用
b、在子类的类方法中,可以使用super关键字调用父类的类方法
(4)super只能用来调用父类的对象方法或者类方法,不能用来访问属性

5、子类从父类继承
(1)相当于子类模版中拥有了父类模版中的所有的成员
(2)创建一个子类对象,仍然是根据子类模版来创建对象,只不过子类模版中拥有父类模版中的成员,所有,子类中既有子类的成员,也有父类的成员
(3)super特指这个方法是从父类继承过来的,super是指当前类或者对象的这个方法是从父类继承过来的

你可能感兴趣的:(IOS基础笔记)