Traits
A trait defines a set of required methods — an interface.
trait Greetable {
fn greet() -> str
}Traits describe behavior, not data.
Implementing a trait
Use impl Trait for Struct:
impl Greetable for Person {
fn greet() -> str {
return "Hi, ${self.name}!"
}
}A struct may implement many traits.
Using traits as types
Traits can be used as parameter or variable types:
fn sayHello(entity: Greetable) {
print(entity.greet())
}
sayHello(alice)This enables polymorphism without inheritance.
Last updated on