前面的示例展示了标准方法的使用,但不是在实际场景中。
Series 接口被广泛使用,很多程序都依赖它。
我们发现几个 Series 实现添加了一个方法,该方法返回一个包含该系列的下 n 个元素的数组。
决定使用 getNextArray(int n) 方法改进 Series 接口,其中 n 指定要检索的元素数量。
在标准方法之前,添加此方法会破坏未定义它的现有代码。
使用标准方法,可以将新方法添加到 Series 接口中,而不会导致现有代码出现问题。
在某些情况下,当无法提供适用于所有情况的实现时,添加到接口的标准方法在使用时会报告错误。
这些默认方法定义可选代码。
在某些情况下,可以定义默认方法以在任何情况下工作。
getNextArray() 方法是一个示例,因为它可以使用 Series 接口已经需要的 getNext() 方法来实现。
可以使用标准的 getNextArray() 方法来实现新版本的 Series。
标准 getNextArray() 方法是使用 getNext() 方法实现的,该方法已存在于原始 Series 规范中。
任何实现 Series 的类都可以使用 getNextArray(),而无需重写该方法。
添加 getNextArray() 不会使现有代码失效。
如果需要,类可以提供自己的 getNextArray() 实现。
标准方法的优点:
允许接口发展而不会使现有代码失效。
提供可选功能,无需占位符实现。
对于 getNextArray(),如果 Series 实现不需要该方法,则不需要提供占位符实现,从而使代码更清晰。
以上是标准方法的更实际示例的详细内容。更多信息请关注PHP中文网其他相关文章!