7、深入理解面向对象编程中的继承机制

深入理解面向对象编程中的继承机制

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值