You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现ISorter接口的类如何在方法中返回ISortStats接口?

接口作为返回类型的运作原理

核心逻辑:多态与面向接口编程

接口本身无法直接实例化,但它可以作为方法的返回类型,这是面向对象多态特性的典型应用:

  • 当方法声明返回ISortStats时,实际返回的是实现了该接口的具体类对象
  • 调用方只需要基于ISortStats定义的方法/属性处理结果,无需关心背后具体是哪个实现类——这就是依赖倒置原则的核心:依赖抽象而非具体实现

ISorter实现类返回ISortStats的可行性

完全可行,运作逻辑如下:

  1. 你需要先定义一个实现ISortStats接口的具体类(比如命名为SortStatsImpl),在这个类里实现接口要求的所有统计项(如比较次数、交换次数、排序耗时等)
  2. 在实现ISorter的排序类(比如BubbleSorter、MergeSorter)的sort方法中,执行排序逻辑的同时收集统计数据,随后创建SortStatsImpl的实例并填充数据
  3. 由于SortStatsImpl实现了ISortStats,它可以自动向上转型为ISortStats类型返回,完全符合sort方法的返回类型要求

这种设计的优势

  • 解耦:排序算法的实现与统计数据的结构相互独立,后续若要新增统计维度,只需修改ISortStats的实现类,无需改动排序算法的代码
  • 统一标准:所有排序算法返回的统计结果都遵循ISortStats的规范,你在做算法对比时,可以用统一逻辑读取、分析不同算法的统计数据,提升效率

内容的提问来源于stack exchange,提问作者HelloSam3567

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 15:54:53