17、面向对象编程的支持与设计

面向对象编程的支持与设计

1. 多态性

多态性是面向对象编程中的一个重要概念。当一个变量指向类 A 的对象,但也可能引用类 B 的对象时,就存在多态连接。例如,如果使用这样的多态引用调用 draw 函数(该函数在两个类中都存在),运行程序必须在执行过程中决定调用过程 A 还是过程 B(通过确定当前引用所指向的对象类型)。

动态类型的面向对象语言自然具有多态性。在某种程度上,多态性将强类型语言转变为一种具有一定动态性的语言,这发生在方法调用与具体技术绑定的时候。多态变量的类型是动态的。

2. 面向对象语言的设计问题

2.1 对象的排他性

在面向对象编程范式中,语言开发者可能会创建一个包含所有其他类型概念的对象框架,在这种思维模式下,从简单的标量数字到整个软件应用程序都是对象。这种决策的优点是语言及其应用的美观性和严格的同质性,但缺点是简单操作通常比声明式范式中的等效操作慢,因为它们必须通过消息传递机制进行,而声明式范式中的简单操作由单条机器代码实现。

在面向对象计算能力的添加方面,有以下几种选择:
- 添加对象编程模型同时保留基本命令式语言的所有类别 :这种方法创建的语言更复杂,其模型材料可能让语言新手感到困惑。
- 将所有结构化类型构建为对象,同时为基本标量类型保留关键风格构建 :使用这种选项,对基本变量的操作可以像在命令式范式中预期的那样快速执行。

2.2 单继承和多继承

面向对象语言家族需要考虑是否提供类和对象的多继承。多继承允许一个新类从两个或多个不同的类派生。然而,是

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值