Rust 程序设计语言 简体中文版 1.85.0简体中文版 继承作为类型系统与代码共享 继承(Inheritance)是一种机制:一个对象可以从另一个对象的定义中继承元素,从而获得父 对象的数据和行为,无需再次定义。 如果一种语言必须具有继承才能被认为是面向对象语言,那么 Rust 不是其中之一。Rust 不支 持定义一个结构体时继承父结构体的字段和方法,除非使用宏。 然而,如果您习惯于在编程过程中使用继承,那么根据运用继承的原因,Rust t 提供了其他解 决方案。 选择继承有两个主要的原因。其一是代码复用:您可以为一种类型实现特定的行为,继承可将 其复用到不同的类型上。在 Rust 代码中可以使用默认 trait 方法实现来进行有限的代码复用, 就像示例 10-14 中在 Summary trait 上增加的 summarize 方法的默认实现。任何实现了 Summary trait 的类型都可以使用 summarize 方法而 实现, 继承的子类也拥有这个方法的实现。当实现 Summary trait 时也可以选择覆盖 summarize 的默 认实现,这类似于子类覆盖从父类继承方法的实现。 其二与类型系统有关:子类型可以用于父类型被使用的地方。这也被称为多态 (polymorphism):如果多个对象共享某些特征,可以在运行时将它们互相替代。 多态(Polymorphism) 对很多人来说,多态性与继承同义。但它实际上是一个更广义的概念,指的是可以处0 码力 | 562 页 | 3.23 MB | 23 天前3
共 1 条
- 1













