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

简介:

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

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

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

相关文章
|
网络协议 网络安全 CDN
「红队建设」Domain Fronting隐藏C2服务器技术
「红队建设」Domain Fronting隐藏C2服务器技术
|
监控 调度 开发工具
IO神器blktrace使用介绍
## 前言 1. blktrace的作者正是block io的maintainer,开发此工具,可以更好的追踪IO的过程。 2. blktrace 结合btt可以统计一个IO是在调度队列停留的时间长,还是在硬件上消耗的时间长,利用这个工具可以协助分析和优化问题。 ## blktrace的原理 一个I/O请求的处理过程,可以梳理为这样一张简单的图: ![](http://image
20569 0
|
9月前
|
SQL 人工智能 自然语言处理
《解锁AI生成SQL新姿势:少样本提示,让查询精准度狂飙》
在数字化时代,数据是企业的核心资产,而SQL查询的准确性直接影响数据洞察的质量。AI生成SQL虽降低了技术门槛,让业务人员可通过自然语言查询数据库,但其对复杂场景的理解仍存不足,易产生语法或逻辑错误。少样本提示通过提供少量相关示例,帮助AI更精准地理解需求,显著提升SQL生成的准确性与灵活性。实际应用中,某零售企业利用此技术将查询准确率提高30%,效率提升5倍,助力决策优化。未来,少样本提示有望进一步推动AI在数据查询领域的广泛应用,释放更大价值。
327 6
|
存储 JavaScript 前端开发
Redux原理
【10月更文挑战第26天】Redux通过单一数据源、只读状态、纯函数修改状态等核心概念,以及清晰的工作流程和中间件机制,为JavaScript应用程序提供了一种强大而可预测的状态管理方案。它与React等视图库的结合能够有效地实现数据驱动的视图更新,提高应用程序的可维护性和可扩展性。在实际应用中,根据项目的具体需求和复杂度,可以灵活地运用Redux及其相关的工具和技术,来构建高效、稳定的前端应用。
394 33
|
存储 消息中间件 Linux
xenomai内核解析--实时IPC概述
本文介绍了在Xenomai实时内核下,实时任务与非实时任务如何进行通讯
414 0
xenomai内核解析--实时IPC概述
用Python实现批量下载文件
用Python实现批量下载文件
|
存储 算法 安全
堆 和 优先级队列(超详细讲解,就怕你学不会)
堆 和 优先级队列(超详细讲解,就怕你学不会)
|
机器学习/深度学习 数据采集 人工智能
使用Python实现深度学习模型:智能音乐创作与生成
使用Python实现深度学习模型:智能音乐创作与生成
397 3
|
存储 弹性计算 固态存储
阿里云服务器4核32G配置多少钱?我们应该如何选择?
阿里云服务器4核32G配置有多达十几种实例规格可选,不同实例规格的收费标准不一样,本文介绍了4核32G配置可选实例规格和最新收费标准及活动价格,可供大家了解阿里云服务器4核32G配置多少钱以及选择建议。
阿里云服务器4核32G配置多少钱?我们应该如何选择?
|
Rust JavaScript 前端开发
【Neovim】配置美化完整流程
【Neovim】配置美化完整流程
7784 0
【Neovim】配置美化完整流程

热门文章

最新文章