[英]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.