Rust: 다형성
예제
-
코드
trait Job {
fn job(&self);
}
struct A {}
impl Job for A {
fn job(&self) {
println!("A job call");
}
}
struct B {}
impl Job for B {
fn job(&self) {
println!("B job call");
}
}
fn main() {
let values: Vec<Box<dyn Job>> = vec![Box::new(A {}), Box::new(B {})];
for value in values.iter() {
value.job();
}
}
-
실행 결과
A job call
B job call