《基于模型的软件开发》——第3章 泛化、继承、泛型和多态

简介:

本节书摘来自华章计算机《基于模型的软件开发》一书中的第3章,作者:[美]H. S.莱曼(H. S. Lahman)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第3章 泛化、继承、泛型和多态

小小的荣耀也正是这样被更大的光荣所掩。国王出巡的时候,摄政的威权未尝不就像一个君主,可是一到国王回来,他的威权就归于乌有,正像溪涧中的细流注入大海一样。
——《威尼斯商人》,莎士比亚
图灵机的基本操作在应用中十分通用,这是硬件开发者的福音,但是仅仅通过基本操作构建程序是非常枯燥的。大多数与语言和建模相关的主要进步在于对抽象构造的替代,这使抽象构造对于图灵指令常见的组合更加简洁。
这种大幅度的替代开始于BAL为特定的0、1组合建立替代指令助记符,通过在3GL中添加过程、块结构、迭代形式、I/O构造以及一系列其他的抽象而取得了长足进展。然后,高层次设计概念使用图形表示法,代替了过去用简单的气泡和箭头表示上万个图灵指令组合的做法。
面向对象范式的一个主要贡献在于形式化和标准化了高层次的抽象,尤其是问题域的抽象,该抽象是对图灵指令集合简朴而严谨的替代。四个重要的面向对象构造为泛化、继承、泛型和多态。
许多人将泛化、继承、泛型和多态看作面向对象的标志性特征,因此我们用一整章来进行介绍。另外一种观点是,尽管很优雅,但是它们实际上只是一种机制,用于实现第2章中描述的那些更基础的面向对象的概念。

相关文章
|
11月前
|
C# 面向对象编程解析:优势、类和对象、类成员详解
OOP代表面向对象编程。 过程式编程涉及编写执行数据操作的过程或方法,而面向对象编程涉及创建包含数据和方法的对象。 面向对象编程相对于过程式编程具有几个优势: OOP执行速度更快,更容易执行 OOP为程序提供了清晰的结构 OOP有助于保持C#代码DRY("不要重复自己"),并使代码更易于维护、修改和调试 OOP使得能够创建完全可重用的应用程序,编写更少的代码并减少开发时间 提示:"不要重复自己"(DRY)原则是有关减少代码重复的原则。应该提取出应用程序中常见的代码,并将其放置在单一位置并重复使用,而不是重复编写。
92 0
面向对象编程的三大特征:封装;继承;多态
面向对象编程的三大特征:封装;继承;多态
74 0
|
5月前
|
抽象类在面向对象编程中有哪些优势
抽象类在面向对象编程中提供了代码复用和模块化设计的优势,通过定义共同的接口和部分实现,子类可以继承并扩展这些功能,提高开发效率和代码可维护性。
108 5
|
7月前
|
C# 面向对象编程的三大支柱:封装、继承与多态
【9月更文挑战第17天】在C#中,面向对象编程的三大支柱——封装、继承与多态,对于编写安全、可维护、可复用的代码至关重要。封装通过访问修饰符和属性保护数据;继承允许子类继承父类的属性和方法,实现代码复用和多态;多态则提高了代码的灵活性和通用性。掌握这三大概念能显著提升C#编程能力,优化开发效率和代码质量。
|
7月前
|
C# 一分钟浅谈:继承与多态性的实践
【9月更文挑战第2天】本文从基础入手,详细介绍了面向对象编程中继承与多态性的核心概念。通过 `Animal`、`Dog` 和 `Cat` 类的示例代码,展示了如何利用继承重用代码及多态性实现不同对象对同一方法的多样化响应,帮助读者更好地理解和应用这两个重要概念,提升面向对象编程能力。
75 3
|
10月前
详尽分享继承和多态对应的几类问题
详尽分享继承和多态对应的几类问题
41 0
面向对象详解,面向对象的三大特征:封装、继承、多态-2
面向对象详解,面向对象的三大特征:封装、继承、多态
面向对象详解,面向对象的三大特征:封装、继承、多态-1
面向对象详解,面向对象的三大特征:封装、继承、多态
|
10月前
|
JavaSE——面向对象高级二(1/4)-面向对象三大特征之三-多态(认识多态、使用多态的好处、多态下的类型转换问题)
JavaSE——面向对象高级二(1/4)-面向对象三大特征之三-多态(认识多态、使用多态的好处、多态下的类型转换问题)
48 0