簡體   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