”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 标准方法的更实际示例

标准方法的更实际示例

发布于2024-11-08
浏览:501
  • 前面的示例展示了标准方法的使用,但不是在实际场景中。

  • Series 接口被广泛使用,许多程序都依赖于它。

  • 我们发现 Series 的几个实现添加了一个方法,该方法返回一个包含该系列的下 n 个元素的数组。

  • 决定使用 getNextArray(int n) 方法改进 Series 接口,其中 n 指定要检索的元素数量。

  • 在标准方法之前,添加此方法会破坏未定义它的现有代码。

  • 使用标准方法,可以将新方法添加到Series接口中,而不会导致现有代码出现问题。

  • 在某些情况下,如果无法提供适用于所有情况的实现,添加到接口的标准方法会报告错误。

  • 这些默认方法定义可选代码。

  • 在某些情况下,可以定义默认方法以在任何情况下工作。

  • getNextArray() 方法是一个示例,因为它可以使用 Series 接口已经需要的 getNext() 方法来实现。

  • 可以使用标准方法 getNextArray().

  • 实现新版本的 Series

Um exemplo mais prático de um método padrão

  • 标准 getNextArray() 方法是使用 getNext() 方法实现的,该方法已存在于原始 Series 规范中。

  • 任何实现 Series 的类都可以使用 getNextArray(),而无需重写该方法。

  • 添加 getNextArray() 不会使现有代码失效。

  • 如有必要,类可以提供自己的 getNextArray() 实现。

  • 标准方法的优点:

  • 允许接口发展而不会使现有代码失效。

  • 提供可选功能,无需占位符实现。

  • 对于 getNextArray(),如果 Series 实现不需要该方法,则不需要提供占位符实现,从而使代码更清晰。

版本声明 本文转载于:https://dev.to/devsjavagirls/um-exemplo-mais-pratico-de-um-metodo-padrao-48c9?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 在 Golang 中安全使用 Map:声明和初始化的差异
    在 Golang 中安全使用 Map:声明和初始化的差异
    介绍 本周,我正在为 golang 开发一个 API 包装器包,它处理发送带有 URL 编码值的 post 请求、设置 cookie 以及所有有趣的东西。但是,当我构建主体时,我使用 url.Value 类型来构建主体,并使用它来添加和设置键值对。然而,我在某些部分遇到了有线零指针...
    编程 发布于2024-11-08
  • 下一个目标
    下一个目标
    我刚刚完成了我的论文,并以令人印象深刻的分数9.1/10,我对此感到非常自豪。提交给 REV-ECIT 2024 的截止日期是 9 月 30 日,目的是将我的论文变成已发表的期刊文章。目前我正在博士生导师的支持下完善我的工作,非常感谢他的指导。 ? 另外,在与SA进行了很长时间的面试后,提出了一些...
    编程 发布于2024-11-08
  • Better - 人工智能驱动的代码审查器 GitHub Action
    Better - 人工智能驱动的代码审查器 GitHub Action
    代码审查对于维护标准和强调项目中代码的最佳实践始终至关重要。这不是一篇关于开发人员应该如何审查代码的文章,更多的是关于将一​​部分代码委托给 AI。 正如 Michael Lynch 在他的文章“如何像人类一样进行代码审查”中提到的那样——我们应该让计算机处理代码审查的无聊部分。虽然迈克尔强调格式化...
    编程 发布于2024-11-08
  • 如何使用 Java 8 有效地统计列表中的词频?
    如何使用 Java 8 有效地统计列表中的词频?
    使用 Java 8 计算词频在 Web 开发和数据分析中,理解词频至关重要。为了实现这一目标,我们将深入研究如何使用 Java 8 计算列表中单词的频率。Java 8 解决方案Java 8 中的 Stream API 为单词提供了一个优雅的解决方案频率计数。首先,创建一个单词列表:List<S...
    编程 发布于2024-11-08
  • 什么是封装以及如何使用它。
    什么是封装以及如何使用它。
    什么是封装? Java 中的封装就是隐藏某些东西如何工作的细节,同时仍然允许其他人使用它。您将数据(如变量)和方法(如函数)分组到一个单元中,称为类。您不是让每个人都直接访问您的数据,而是提供方法(getter 和 setter)来控制数据的访问或更改方式。这样,您可以保护您的数据并保持代码整洁和有...
    编程 发布于2024-11-08
  • Java 中的倒置二叉树
    Java 中的倒置二叉树
    最近,我开始练习一些 LeetCode 练习,以提高我的算法/数据结构技能。我可以说,该平台提供了一个良好的环境,可以与其他开发人员一起练习和学习多种编程语言的解决方案,与他人讨论、分享解决方案,并练习大公司要求的代码挑战。 什么是 LeetCode? LeetCode 是一个帮助候...
    编程 发布于2024-11-08
  • 如何在Python中高效查找一个数的因数?
    如何在Python中高效查找一个数的因数?
    在 Python 中高效查找数字的因数确定数字的因数是各个领域中的常见任务,Python 提供了多种有效的方法来实现它。一种优化方法涉及利用 Python 的 reduce 函数以及列表理解。这个简洁的解决方案有效地找到给定数字的所有因子。from functools import reduce d...
    编程 发布于2024-11-08
  • JavaScript 困境:嵌入脚本与内联执行?
    JavaScript 困境:嵌入脚本与内联执行?
    外部脚本标签中的 JavaScript:源困境当使用带有 的外部脚本标签时语法,了解它们的局限性很重要。尝试将 JavaScript 直接嵌入到这些标记中(如下例所示)会导致意外行为:<script src="myFile.js"> alert("...
    编程 发布于2024-11-08
  • 属性 Hooks 无 PHP
    属性 Hooks 无 PHP
    11 月,我们将推出我们心爱的 PHP 8.4 版本,随之而来的是社区期待已久的新功能:属性挂钩!受到 C#、Swift 和 Kotlin 等其他语言的启发,这个新功能消除了魔法方法 __set() 和 __get() 的麻烦。 我将展示一个示例,说明当前如何拥有 getter 和 setter,而...
    编程 发布于2024-11-08
  • 如何在不阻塞服务器和客户端的情况下实时读取和回显服务器当前正在写入的上传文件大小?
    如何在不阻塞服务器和客户端的情况下实时读取和回显服务器当前正在写入的上传文件大小?
    如何在不阻塞服务器和客户端的情况下,实时读取和打印正在服务器端写入的上传文件的大小?让我们展开来讨论这个问题:为了实时获取文件上传的进度,我们在 POST 请求中通过 fetch() 从 Blob、File、TypedArray 或 ArrayBuffer 对象设置了 body 对象。目前的实现将 ...
    编程 发布于2024-11-08
  • 如何在 Python 中确定闰年:综合指南
    如何在 Python 中确定闰年:综合指南
    使用 Python 计算闰年确定某一年是否为闰年涉及可以通过编程方式评估的特定标准。闰年可以被四整除,但能被一百但不能被四百整除的年份除外。解决此问题的一个潜在方法是实现一个自定义函数来检查闰年。但是,当尝试使用此类函数时,您可能会遇到模块返回 None 而不是所需输出的问题。更强大、更全面的解决方...
    编程 发布于2024-11-08
  • 如何在 PHP 中使用正则表达式提取以字符为界的子字符串?
    如何在 PHP 中使用正则表达式提取以字符为界的子字符串?
    在 PHP 中提取由字符限制的子字符串从字符串中提取由特定字符限制的短语是一项常见的编程任务。 PHP 通过正则表达式为此提供了方便的解决方案。考虑以下字符串:$String = "[modid=256]";提取之间的部分等号(=)和右方括号(]),可以使用以下代码:$input...
    编程 发布于2024-11-08
  • YAML 到 JSON 转换:综合指南
    YAML 到 JSON 转换:综合指南
    YAML 和 JSON 是两种流行的数据序列化格式,每种格式都有独特的优势。了解如何在它们之间进行转换对于跨不同平台和系统工作的开发人员很有用。在本指南中,我们将探讨 YAML 和 JSON 之间的主要区别、为什么您可能需要在它们之间进行转换,并提供执行转换的实用步骤和工具。 YAML 和 JSO...
    编程 发布于2024-11-08
  • 如何查找 PHP 数组中最高值的索引?
    如何查找 PHP 数组中最高值的索引?
    确定数组中最大值的索引使用数组时,确定具有最大值的元素的索引为一项共同的任务。让我们探讨一下这个问题的解决方案。问题描述:给定一个数组,检索数组中存在的最高值的索引。例如,如果数组为:[11 =&gt; 14, 10 =&gt; 9, 12 =&gt; 7, 13 =&...
    编程 发布于2024-11-08
  • 引入灵活且与框架无关的 Laravel Livewire Modal 包
    引入灵活且与框架无关的 Laravel Livewire Modal 包
    引入灵活的 Laravel Livewire 模态包 Laravel 和 Livewire 彻底改变了我们用最少的 JavaScript 构建动态应用程序的方式。但在处理模态时,大多数解决方案往往将我们锁定在特定的设计框架中,例如 Bootstrap 或 Tailwind CSS。...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3