在 Rust 中,struct、enum、impl 和 trait 是面向对象编程的核心概念,它们协同工作以实现数据抽象、封装和多态。以下是详细解释及它们之间的关系:
1. struct(结构体)
作用:定义自定义数据类型,封装多个相关字段(数据)。
特点:
- 类似于其他语言中的"类",但仅包含数据(不包含方法)。
- 支持泛型、生命周期参数等。
- 通过 impl 块添加方法。
示例:
struct Rectangle {
width: u32,
height: u32,
}
2. impl(实现块)
作用:为 struct、enum 或 trait 添加方法或关联函数。
特点:
- 实现方法:第一个参数为 self(或 &self、&mut self)。
- 实现关联函数:无 self 参数(类似静态方法)。
- 可为同一类型定义多个 impl 块。
示例(为 Rectangle 添加方法):
impl Rectangle {
// 关联函数(构造函数)
fn new(width: u32, height: u32) -> Self {
Rectangle {
width, height }
}
// 方法(引用 self)
fn area(&self) -> u3


9882

被折叠的 条评论
为什么被折叠?



