当前位置: 首页 > news >正文

在 wrapper 类里实现重载方法

现有包装类 Wrapper 欲覆盖 inner 的方法 g

class A{void f(){g();}void g(){}
}class Wrapper extends A{A inner;void f(){inner.f()	// 不调用 Wrapper.g}void g(){	// override g}
}

inner 通过 this.g 调用时仍然会调用 A.g 而不是 Wrapper.g 导致覆盖失效。

现在想到一个好办法, 我将 f 改为 f(A self):

class A{void f(A a){a.g();}void g(){}
}class Wrapper extends A{A inner;void f(A a){inner.f(this)	// 不调用 Wrapper.g}void g(){	// override g}
}

为了让 A 原来的用户舒服:

class A{void f(){this.f(this);}
}
http://www.jsqmd.com/news/17765/

相关文章:

  • Vue 项目 AI 文档增量更新工具操作手册
  • P7521 [省选联考 2021 B 卷] 取模 分析
  • 4060显卡也能玩转AI改图!Flux.1 Kontext Dev GGUF版本超详细入门教程 - 实践
  • 提升生产力:8个.NET开源且功能强大的快速开发框架
  • Mac版PDF Squeezer v4.5.1安装教程(DMG文件下载+详细步骤)​
  • 使用c++14标准实现函数注册包装
  • 【VSCode中Java创建环境安装的三个层级之Maven篇】(Windows版)
  • 详细揭秘:马拉车算法
  • 黑马程序员Java基础笔记
  • 实用指南:linux磁盘空间爆满排查与清理
  • 实用指南:socketpair深度解析:Linux中的“对讲机“创建器
  • 详细介绍:从零开始的C++学习生活 2:类和对象(上)
  • 【aigc】chrome-devtools-mcp怎么玩? - 指南
  • 2025年不锈钢酸洗钝化液厂家推荐排行榜,环保型不锈钢管酸洗钝化液,不锈钢清洗钝化液,酸洗钝化处理工艺及不锈钢清洗剂公司推荐
  • 记账:流水报表
  • 百度网盘非会员下载慢怎么解决 - fosgrignonhto
  • 嵌入式硬件——基于IMX6ULL的UART(通用异步收发传输器) - 教程
  • 20232418 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • CF1777E Edge Reverse
  • d435i 标定 imu和相机 用来复现vins_fusion - 教程
  • CSP-S 模拟赛 Day 19
  • K230基础-摄像头的使用 - 详解
  • CSP-S 模拟赛 Day 18
  • 2025年市面上高杆灯品牌前十强推荐榜:选购指南与行业洞察
  • 2025年市面上高杆灯品牌Top10权威推荐榜单
  • 2025年国内高杆灯十大品牌权威推荐榜单
  • 2025年市面上高杆灯品牌与国内公司口碑产品推荐榜单
  • 2025年给汤机/重力铸造自动化/机加工自动化厂家推荐榜单:专业设备与智能解决方案权威解析
  • 2025年发电机厂家权威推荐榜:柴油发电机组/康明斯/玉柴/高压/大功率发电机组专业选购指南
  • 2025年锥芯板品牌口碑排行榜单Top10:行业精选与选择指南