Câu trả lời ngắn gọn, bạn không thể thực hiện kế thừa với cấu trúc.
Thay vì kế thừa, Rust sử dụng bố cục. Tuy nhiên, bạn có thể làm thừa kế trong phạm vi traits. Đặc điểm không có dữ liệu, nhưng họ có thể xác định chức năng, vì vậy bạn có thể nhận được khá nhiều những lợi ích của thừa kế:
trait Foo {
fn foo(&self);
}
trait FooBar: Foo {
fn foobar(&self);
}
Một implementor của FooBar
phải thực hiện foo
(trừ khi bạn cung cấp một cài đặt mặc định) .
Một cách Rust chuyên môn hóa thường là thông qua enums
, rất mạnh mẽ trong Rust. Một trong những nhà phát triển Rust đã viết a good blog series about how Rust approaches these types of problems. Tôi khuyên bạn nên đọc qua nó cũng như đọc qua cuốn sách chính thức (liên kết trước đó).
http://aturon.github.io/blog/2015/09/18/reuse/ có một vài ví dụ làm việc từ Servo nếu bạn thực sự cần thừa kế. – ArtemGr