首页 > 其他分享 >Rust Trist

Rust Trist

时间:2022-10-17 22:22:33浏览次数:29  
标签:類型 Trait 實現 say SayHello Man Rust Trist

Trait

Trait 是什麼東西

Trait 中定義了一組方法,類似於其他語言當中的接口,但是不同於其他語言中的接口(後面會展開)。因爲其內部是一組方法,因此 Trait 所定義的是一種公共行爲。比如所有男生被要求上公廁的時候只能進男廁所,所有運動員被要求不允許毆打裁判……也就是讓一些不同的類型卻擁有相同的行爲(可調用方法)。

自定義 Trait

你可以通過如下的方式自定義一個 Trait,這個 Trait 中擁有一個方法簽名(只有簽名,沒有實現),他的意思是要求具備 SayHello 這個 Trait 的類型都必須擁有一個方法,這個方法名叫 say,並且這個方法返回一個 str

trait SayHello {
    fn say(&self) -> &'static str;
}

PS:&self 參數是必要的,不然實例化後的對象無法調用。

爲類型實現 Trait

如果你希望爲自己的類型實現 SayHello 這個 Trait 你可以像這樣

struct Man {
    name: String,
}

impl SayHello for Man {
    fn say(&self) -> &'static str {
        "Hello Man"
    }
}

fn main() {
    let m: Man = Man{name: String::from("Ant")};
    println!("{}",m.say());
}

默認實現

如果你定義來一百個類型,而每一個類型都需要實現 SayHello Trait,但是每一個 say 方法返回的內容都是一模一样的,因此你可以爲 Trait 添加默認實現。

trait SayHello {
    fn say(&self) -> &'static str {
        "Hello 

标签:類型,Trait,實現,say,SayHello,Man,Rust,Trist
From: https://www.cnblogs.com/ltozvxe/p/16800948.html

相关文章