在无继承特性的 Rust 语言中实现继承的九种方式
Rust 没有类继承,但开发者真正需要继承时通常追求三种效果:共享接口、共享行为、共享存储。本文作者(RangeSetBlaze 和 device-envoy 等 crate 的作者)用九个递进谜题展示 Rust 如何通过 trait、super trait、extension trait、derive、Deref 方法查找、blanket impl、宏生成 impl、特化约束等手段实现类似继承的效果。每个谜题从 OOP 设计出发,给出 Rust 解法与代码示例,并讨论各技术的适用边界与取舍(如 Deref 过于宽松时应改用 as_str)。文章源自作者在西雅图 Rust 用户组的演讲,有真实项目经验支撑,GitHub 附完整代码。对 Rust 中高级使用者有直接借鉴价值,不是概念空谈或 SEO 拼凑。
