Rustのトレイト

Rustで抽象化プログラミングを行う際にトレイトが用いられる。 トレイトを定義するときは以下のように記述する。

trait CalcArea {
    fn calc_area(&self)->f64;
}

トレイトを満たすために型にメソッドを実装するときは以下のように記述する。

impl CalcArea for Square {
    fn calc_area(&self)->f64{
        self.side * self.side
    }
}