当我用 Rust 1.3 编译它时,编译器告诉我 virtual
结构已从语言中删除:
struct Foo: Bar {
}
最佳答案
简短的回答,你不能用结构做继承。
Rust 不使用继承,而是使用组合。但是,您可以在 traits 内进行继承。 .特征没有数据,但它们可以定义函数,因此您可以通过使用它们来获得继承的许多好处:
trait Foo {
fn foo(&self);
}
trait FooBar: Foo {
fn foobar(&self);
}
FooBar
的实现者必须实现foo
(除非您提供默认实现)。
Rust 进行专门化的一种方式通常是通过 enums
,这在 Rust 中非常强大。一位 Rust 开发人员写道 a good blog series about how Rust approaches these types of problems .我建议通读它以及通读官方书籍。
关于inheritance - 在 Rust 1.3 中继承结构的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35328392/