面向对象编程的支持与设计
1. 多态性
多态性是面向对象编程中的一个重要概念。当一个变量指向类 A 的对象,但也可能引用类 B 的对象时,就存在多态连接。例如,如果使用这样的多态引用调用 draw 函数(该函数在两个类中都存在),运行程序必须在执行过程中决定调用过程 A 还是过程 B(通过确定当前引用所指向的对象类型)。
动态类型的面向对象语言自然具有多态性。在某种程度上,多态性将强类型语言转变为一种具有一定动态性的语言,这发生在方法调用与具体技术绑定的时候。多态变量的类型是动态的。
2. 面向对象语言的设计问题
2.1 对象的排他性
在面向对象编程范式中,语言开发者可能会创建一个包含所有其他类型概念的对象框架,在这种思维模式下,从简单的标量数字到整个软件应用程序都是对象。这种决策的优点是语言及其应用的美观性和严格的同质性,但缺点是简单操作通常比声明式范式中的等效操作慢,因为它们必须通过消息传递机制进行,而声明式范式中的简单操作由单条机器代码实现。
在面向对象计算能力的添加方面,有以下几种选择:
- 添加对象编程模型同时保留基本命令式语言的所有类别 :这种方法创建的语言更复杂,其模型材料可能让语言新手感到困惑。
- 将所有结构化类型构建为对象,同时为基本标量类型保留关键风格构建 :使用这种选项,对基本变量的操作可以像在命令式范式中预期的那样快速执行。
2.2 单继承和多继承
面向对象语言家族需要考虑是否提供类和对象的多继承。多继承允许一个新类从两个或多个不同的类派生。然而,是
超级会员免费看
订阅专栏 解锁全文

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



