繁体   English   中英

在 Rust 1.3 中继承结构的最佳方式是什么?

[英]What is the best way to inherit a struct in Rust 1.3?

当我使用 Rust 1.3 编译它时,编译器告诉我virtual结构已从语言中删除:

struct Foo: Bar {

}

简短的回答,你不能用结构进行继承。

Rust 使用组合代替继承。 但是,您可以traits内进行继承。 Traits 没有数据,但它们可以定义函数,因此您可以通过使用它们来获得继承的许多好处:

trait Foo {
    fn foo(&self);
}

trait FooBar: Foo {
    fn foobar(&self);
}

FooBar的实现者必须实现foo (除非您提供默认实现)。

Rust 进行专业化的一种方式通常是通过enums ,它在 Rust 中非常强大。 一位 Rust 开发人员写了一个很好的博客系列,介绍 Rust 如何解决这些类型的问题 我建议通读它以及通读官方书籍。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM