继承是面向对象的一个重要的原理
一 继承概述
父类自身也可能有父类,没有父类的类位于层次结构的最顶层,称为(root)根类。OC中可以自己定义根类,当通常不这样做,我们所定义的类都是NSObject 根类的派生类,接口文件中通常这一定义
@interface Fraction:NSObject
...
@end
类 Fraction 是从NSObject 派生的,称为NSObject 的子类。NSObject 是 fraction 的父类
继承的概念作用于整个继承链,子类继承父类的所有方法和实例变量,类的每个实例都拥有自己的实例变量,即使这些变量都是继承下来的。
二@class指令
如果不需要引入和处理整个class.h 类,只需要知道是个类名,使用@class 指令可以提高效率.如果需要引用类的方法,@class 指令是不够的,因为编译器需要更多的消息,
例子:
@class XYPoint;
@interface Rectangle:NSObject
-(XYPoint *) origin;
@end
可以看出@class 的作用是当编辑器遇到这样的语句
-(XYPoint *) origin;
时,可以告诉编辑器 XYPoint 是一个类的名字,origin 是 XYPoint 类的一个对象
三 重写方法
通过重写方法,可以修改继承方法的定义
例子:
songxing10000 发表于 2014-9-22 20:34
写博客就是这样在这里发的吗,我新手啊,求指教
songxing10000 发表于 2014-9-22 20:34
写博客就是这样在这里发的吗,我新手啊,求指教
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |