GreekBank极客班-objective c 继承与多态

Oc作为c扩展的面向对象语言,具有面向对象语言的三大基本特性:封装,继承,多态

继承是指每一个类只能有一个基类,子类自动继承基类的实例变量,属性,实例方法,类方法

所有根类是NSObject

继承有两层含义:子类复用基类成员;将子类当作父类来使用

子类自动继承基类的初始化器;子类也可以重写基类初始化器,但此时子类初始化器必须首先调用基类的一个初始化器,且手工调用。

子类可以选择继承基类析构器,或者重写基类析构器;子类析构器执行完毕后,会自动调用基类析构器(后置调用,且不支持手工调用)

多态是子类在父类统一行行为接口下,表现不同的实现方式。

子类重写父类同名同参数方法:子类只可以重写父类方法

方法名相同,参数不同的:oc不支持方法的重载

在子类代码中,可以使用super来调用基类的实现

self具有多态性,可以指向不同子类;super没有多态性,仅仅指向父类,子类析构器自动具有多态性

注意:尽量避免在父类init和dealloc调用子类重写的方法

你可能感兴趣的:(GreekBank极客班-objective c 继承与多态)