概要:本文介绍了类的继承和派生的基本概念和其应用(多态),作为面向对象三大特性之一,理解继承是学好OC的必经之路!
一、类的继承和派生基本概念
引子:请想想这样一种场景。小明家的泰迪狗“旺财”按照面向对象的观点来看属于哪类呢?“旺财”属于泰迪狗类,而泰迪狗类又属于狗类。泰迪狗类拥有狗类的一切属性,而泰迪狗又拥有特有的毛发材质和身材体型。这样就构成了“狗->泰迪狗”这样一种继承派生关系。下面来看具体的定义。
1.概念
继承是指一个新类拥有全部被继承类的属性和方法,通过继承产生新类的过程也称作派生。
继承机制使得新类不仅有自己特有的属性和方法,而且有被继承类的全部属性和方法。
例如:
2.基类和派生类之间的关系
说明:
(1)基类的私有属性能被继承,不能被使用。
(2)OC中的继承是单继承:也就是说一个类只能一个父类,不能继承多个父类
3.方法的重写
从父类继承的方法,可能这个方法并不适合子类,可以在子类中重写父类的方法。 重写之后,父类的对象调用父类的方法;子类的对象,调用子类的方法,不会引起冲突。 从父类继承的方法,不适用于子类时,可以直接声明父类的同名方法,并定义。 不用考虑父类中,方法已存在的问题。 重写后,子类可以通过super调用父类