面向对象编程中的继承与组合
1. 继承的概念与应用
继承是面向对象编程中的一个关键概念,许多高级的面向对象编程技术都涉及到它。通过继承,可以从现有的类创建新的类,子类能够继承父类的实例变量和方法。
1.1 继承简化代码
以 Shapes - Object 代码为例,继承可以美化和简化代码。在创建新类时,可以基于现有的类进行扩展,避免了大量重复代码的编写。
1.2 方法调度机制
在 Objective - C 中,方法调度机制会沿着继承链向上查找,以找到响应特定消息的方法。当调用一个方法时,系统会先在当前类中查找,如果找不到,就会到父类中继续查找,直到找到该方法或者到达继承链的顶端。
1.3 调用父类方法
在重写方法时,调用父类的方法通常是一个好主意。例如,在 Shapes - Object 中, setFillColor: 方法的重写:
- (void) setFillColor: (ShapeColor) c
{
if (c == kRedColor) {
c = kGreenColor;
}
[super setFillColor: c];
} // setFillColor
通过调用 [super setFillColor: c]; ,可以确保获取到父类方法实现的所有功能。即使我们现在知道父类方法的具体实现,但如果类在后续被修改或增强,调用继承的方法能保证我们不会遗漏任
超级会员免费看
订阅专栏 解锁全文
1410

被折叠的 条评论
为什么被折叠?



