// 定义基础trait
trait BaseTrait {
fn base_method(&self) {
println!("This is the base method.");
}
fn method_to_override(&self);
}
// 基础结构体实现BaseTrait
struct BaseStruct;
impl BaseTrait for BaseStruct {
fn method_to_override(&self) {
println!("Base implementation of method_to_override.");
}
}
// 定义派生结构体
struct DerivedStruct;
// 派生结构体实现BaseTrait,继承部分方法并重写特定方法
impl BaseTrait for DerivedStruct {
fn method_to_override(&self) {
println!("Derived implementation of method_to_override.");
}
}
fn main() {
let base = BaseStruct;
base.base_method();
base.method_to_override();
let derived = DerivedStruct;
derived.base_method();
derived.method_to_override();
}