1、成员访问类型 private:私有成员,不能被外部函数访问(使用),也不能被子类继承; protected:保护成员,不能被外部函数访问,可以被子类继承; public:公有成员,可以被外部函数访问,也可以被子类继承。 OC中,所有的方法(消息),都是公有的。 2、重写(继承的另一部分) 子类可以从父类继承方法,但是有时候父类的方法不适合子类,子类就可以写一个自己的同名方法,覆盖掉父类的同名方法,叫做重写。 重写的时候,在子类的.h中不必重新声明,直接在.m中写实现就可以。 其中,子类重写父类的jump方法,不需要重新声明。 同一个方法,不同的实现,称为多态。重写是多态的一种。 继承的好处: 1)创建大量的相似类的时候,可以节省工作量。 2)使用框架中的类,或已经写好的类,继承该类,生成一个派生类,比原类更好用。 注意:NSString、NSArray、NSDictionary都是不能够继承的。 3、虚方法 OC的方法都是虚方法 1)父类的指针可以指向子类的对象 上面p和son都指向子类的对象;调用方法时,不看指针,看对象,对象的地址指向什么对象,就调用什么方法,称为虚方法。 2)调用方法时,不看指针看对象,这样的方法叫做虚方法。虚方法的好处:可以描述不同事物被相同事件触发,产生不同的响应(结果)。体会下面的例子 动物的父类声明与实现
|