深入理解面向对象编程中的继承机制
1. 继承的基本概念
在面向对象编程(OOP)里,继承是一个关键特性。就如同你从亲生父母那里继承了头发颜色、鼻子形状等特征一样,在 OOP 中,一个类能够从另一个类(父类或超类)获取特征。在 UML 中,带有箭头的线可用来表示继承关系,比如图中展示的 Circle 和 Shape、Rectangle 和 Shape 之间的继承关系。
继承不仅能让子类获得父类的实例变量,还能继承其方法。像 Circle 和 Rectangle 继承自 Shape 后,就拥有了 Shape 的两个实例变量,并且能够响应 setFillColor: 和 setBounds: 方法。
2. 继承的语法
在声明新类时,语法如下:
@interface Circle : NSObject
冒号后面的标识符就是要继承的类。在 Objective - C 中,你可以不继承任何类,但如果使用 Cocoa,通常会选择继承 NSObject,因为它提供了很多实用的特性。
需要注意的是,Objective - C 不支持多重继承。例如下面这样的语句会让编译器报错:
@interface Circle : NSObject, PrintableObject
不过,你可以通过使用 Objective - C 的其他特性(如类别和协议)来获得多重继承的部分好处。
当对架构进行改进,让类从 Shape
超级会员免费看
订阅专栏 解锁全文

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



