相关疑难解决方法(0)

如何避免具有语义相等的字段/属性的不同结构的代码重复?

鉴于以下两个结构:

pub struct RectangleRenderer {
    canvas: Canvas,
    origin: Point,
    shape: Rectangle,
}

pub struct CircleRenderer {
    canvas: Canvas,
    center: Point,
    shape: Circle,
}
Run Code Online (Sandbox Code Playgroud)

由于我来自爪哇,我会从中提取基类ShapeRenderer淘汰者和应用领域canvas,并origin到,虽然具体类型将继续把他们的领域shape。在这种情况下,Rust的最佳实践是什么,因为特征仅起到类似于界面的作用,因此不允许属性/字段?

inheritance struct code-duplication rust

2
推荐指数
1
解决办法
567
查看次数

标签 统计

code-duplication ×1

inheritance ×1

rust ×1

struct ×1